![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Опыта у меня очень мало, поэтому с синтаксисом знаком плохо.
Выдает ошибку -206 Subselect illegal in this context on line 1 Процедура в интербейз: Код:
Create procedure Zone_Insert(Zona VarChar(150), Pref Varchar(12), Price Double Precision, ID_Tarif int)
AS
Begin
If (:Pref not in (Select Zone_Prefix from Zone)) then begin
Insert into Zone(Zone_Prefix, Zone_Name)
Values(:Pref, :Zona);
insert into Orig_Price(Orig_PR, Zone_ID, Orig_Tarif_ID)
Values(:Price, (Select Gen_ID(Gen_Zone, 0) from RDB$DATABASE), :ID_Tarif);
end
else begin
update Orig_Price Set Orig_Pr=:Price where ORIG_TARIF_ID=:ID_Tarif and Zone_ID = (Select Zone_ID from ZOne where Zone_Prefix=:Pref);
end
endПоследний раз редактировалось lmikle, 04.06.2011 в 06:53. |
|
#2
|
|||
|
|||
|
Разобрался. надо так, если кому понадобится:
Код:
Create procedure Zone_Insert(Zona VarChar(150), Pref Varchar(12), Price Double Precision, ID_Tarif int)
AS
Begin
If (not exists(select * from Zone where zone_prefix=:pref)) then begin
Insert into Zone(Zone_Prefix, Zone_Name)
Values(:Pref, :Zona);
insert into Orig_Price(Orig_PR, Zone_ID, Orig_Tarif_ID)
Values(:Price, (Select Gen_ID(Gen_Zone, 0) from RDB$DATABASE), :ID_Tarif);
end
else begin
update Orig_Price Set Orig_Pr=:Price where ORIG_TARIF_ID=:ID_Tarif and Zone_ID = (Select Zone_ID from ZOne where Zone_Prefix=:Pref);
end
endПоследний раз редактировалось lmikle, 04.06.2011 в 06:53. |
|
#3
|
||||
|
||||
|
ммм. Мне кажется, или это не совсем Delphi?
|