• Авторизация


05-11-2004 17:17 к комментариям - к полной версии - понравилось!


вот эта штука

CREATE PROCEDURE PROCEDURE5 (
PROCEDURENN VARCHAR(64)
) RETURNS (
CREPRC VARCHAR(4096)
) AS
DEclare variable tmpStr varchar (4096);
DEclare variable tmpStr1 varchar (4096);
DEclare variable tmpStr2 varchar (4096);
DEclare variable tmpStr3 varchar (4096);
BEGIN
tmpStr1='';
tmpStr='';
tmpStr2='';
tmpStr3='';
for select cast(VAP_PROPERTIES_ID as varchar(10))from VAP_PROPERTIES_OB into :tmpStr do
begin

tmpStr1=tmpStr1||' SELECT VVALUE from KOL_OBJECTS where VID = :V_ID and VP_ID ='||
tmpStr||' INTO :Prop'||tmpStr||'; ';

tmpStr2=tmpStr2||'Prop'||tmpStr||' VARCHAR(128),';

tmpStr3=tmpStr3||'Prop'||tmpStr||'='''';';

end

tmpStr2= tmpStr2||'VNAME VARCHAR(128), Vtype Integer, V_ID integer';

CrePrc = 'CREATE PROCEDURE '||:PROCEDURENN||' RETURNS ('||
tmpStr2||
') AS begin for select VAP_ID,VAP_OBJECTS_NAME,VAP_TYPES_ID from VAP_OBJECTS into :V_ID, :VNAME, :Vtype do begin '||
tmpStr3||
tmpStr1||
' suspend; end end';
suspend;
END

генерит такой текст:

CREATE PROCEDURE r RETURNS (Prop2001 VARCHAR(128),Prop2002 VARCHAR(128),Prop2003 VARCHAR(128),Prop2004 VARCHAR(128),Prop2005 VARCHAR(128),VNAME VARCHAR(128), Vtype Integer, V_ID integer) AS begin for select VAP_ID,VAP_OBJECTS_NAME,VAP_TYPES_ID from VAP_OBJECTS into :V_ID, :VNAME, :Vtype do begin Prop2001='';Prop2002='';Prop2003='';Prop2004='';Prop2005=''; SELECT VVALUE from KOL_OBJECTS where VID = :V_ID and VP_ID =2001 INTO :Prop2001; SELECT VVALUE from KOL_OBJECTS where VID = :V_ID and VP_ID =2002 INTO :Prop2002; SELECT VVALUE from KOL_OBJECTS where VID = :V_ID and VP_ID =2003 INTO :Prop2003; SELECT VVALUE from KOL_OBJECTS where VID = :V_ID and VP_ID =2004 INTO :Prop2004; SELECT VVALUE from KOL_OBJECTS where VID = :V_ID and VP_ID =2005 INTO :Prop2005; suspend; end end

он почему то не хочет отрабатывать при коннекте к Interbase через Ole DB, а вот через BDE отрабатывает, зараза
Впервые в жизни пишу хранимую процедуру, которая бы генерила текст другой хранимой процедуры. типа круто! :)))))
вверх^ к полной версии понравилось! в evernote
Комментарии (1):
Nataleo 05-11-2004-17:36 удалить
почему-то сей маразм не хочет дневник отображать .....да...


Комментарии (1): вверх^

Вы сейчас не можете прокомментировать это сообщение.

Дневник | Nataleo - позвольте поморочить вам голову | Лента друзей Nataleo / Полная версия Добавить в друзья Страницы: раньше»