powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Вопрос по написанию процедур
9 сообщений из 9, страница 1 из 1
Вопрос по написанию процедур
    #38005396
Toshkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите, плиз, новичку.
Переношу базу c Interbase на DB2 и столкнулся с такой проблемой:
В процедуре используется insert, в котором имя поля совпадает с именем параметра, например:

create procedure p1 (v varchar (20))
LANGUAGE SQL MODIFIES SQL DATA
begin
insert into t1(v) values(v)
end

Как можно разрешить такой конфликт?
...
Рейтинг: 0 / 0
Вопрос по написанию процедур
    #38005513
const64
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Toshkin,

Варианты:
1. Переименовать параметр
2. Указывать полное имя: insert into t1(v) values(p1.v)
...
Рейтинг: 0 / 0
Вопрос по написанию процедур
    #38005520
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Toshkin,

Код: plaintext
1.
2.
3.
4.
create procedure p1 (v varchar (20))
LANGUAGE SQL MODIFIES SQL DATA
begin
  insert into t1(v) values(p1.v);
end
...
Рейтинг: 0 / 0
Вопрос по написанию процедур
    #38005528
Toshkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
const64,
Первый вариант не подходит, т.к. таких процедур десятки и база находится в стадии разработки.
Второй вариант возвращает SQLSTATE=42703
...
Рейтинг: 0 / 0
Вопрос по написанию процедур
    #38005537
Toshkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
да, кстати, ошибка возникает в функции, а не в процедуре (не знаю, принципиально ли это).
...
Рейтинг: 0 / 0
Вопрос по написанию процедур
    #38005564
Toshkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всё разобрался.
Оказалось, это SQLWays ступил - переименовал параметр/поле "COMMENT" в "COMMENT2", а такого поля в таблице нет, естественно.
...
Рейтинг: 0 / 0
Вопрос по написанию процедур
    #38011393
Toshkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
create procedure p1 ()
LANGUAGE SQL MODIFIES SQL DATA
begin
DECLARE v varchar (20)
SET v = ' '
insert into t1(v) values(v)
end

Возвращаюсь к теме:
А что делать если имя поля совпадает с именем переменной?
...
Рейтинг: 0 / 0
Вопрос по написанию процедур
    #38011737
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ToshkinА что делать если имя поля совпадает с именем переменной?
Код: plaintext
1.
2.
3.
4.
5.
create procedure p1(v varchar(20))
l1: begin
  declare v varchar(20);
  set l1.v='';
  insert into t1(v) values (p1.v);
end
...
Рейтинг: 0 / 0
Вопрос по написанию процедур
    #38011877
Toshkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mark BarinsteinToshkinА что делать если имя поля совпадает с именем переменной?
Код: plaintext
1.
2.
3.
4.
5.
create procedure p1(v varchar(20))
l1: begin
  declare v varchar(20);
  set l1.v='';
  insert into t1(v) values (p1.v);
end

Спасибо, но слишком мудрено..
Да и параметры процедуры я не могу менять.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Вопрос по написанию процедур
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]