динамический sql
Релиб
Форумы       Участники    Календарь    Кто он-лайн?
Добро пожаловать, гость ( Вход | Регистрация )
        



динамический sql Expand / Collapse
Автор
Сообщение
12.09.2007 11:45
Forum Member

Forum MemberForum MemberForum MemberForum MemberForum MemberForum MemberForum MemberForum Member

участник
Last Login: 08.11.2007 8:27
Сообщ.: 33, Visits: 111

Пытаюсь создать следующую ф-ию (пока задействованы не все параметры, но суть не в этом):

CREATE OR REPLACE PROCEDURE FILTER_FOR_TOPLEVEL(date1 in Date, date2 in Date,

otdel in varchar2, fio_isp in varchar2,type_doc in varchar2, ispol in varchar2)

is

SQLTEXT dbms_sql.varchar2s; --текст запроса

WhereClause dbms_sql.varchar2s; --условие запроса

i integer; --счетчик

C integer; --идентификатор курсора

B_ID COMMISSION.id%TYPE;

BEGIN

--WhereClause(1):='TRUE';

IF date1 is not null THEN

IF date2 is not null THEN

WhereClause(WhereClause.Last+1):=' (Date_ISP>=:d1 and Date_ISP<=:d2)';

ELSE

WhereClause(WhereClause.Last+1):=' Date_ISP=:d1';

END IF;

END IF;

SQLTEXT(1):='SELECT ID ';

SQLTEXT(2):='from from COMMISSION where';

FOR i in WhereClause.First .. WhereClause.Last

LOOP

SQLTEXT(SQLTEXT.Last+1):=WhereClause(i);

END LOOP;

C:=dbms_sql.open_cursor;

--dbms_sql.parse(C,SQLTEXT,SQLTEXT.First,SQLTEXT.Last, FALSE, dbms_sql.Native);

dbms_sql.bind_variable(C,':d1',date1);

dbms_sql.define_column(C,1,B_ID);

dbms_sql.Execute(C);

loop

if dbms_sql.fetch_rows(C)>0 THEN

dbms_sql.column_value(C,1,B_ID);

else

EXIT;

END IF;

END LOOP;

dbms_sql.close_cursor(C);

END;

Выдается ошибка: "EXECUTE" не является процедурой или не определена. С чем эта ошибка связана и как ее можно исправить? 

Сообщ. #915881
12.09.2007 21:56
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 12.10.2007 4:11
Сообщ.: 219, Visits: 1 804
dms_sql.execute - функция, а не процедура.

вызываешь не правильно

Сообщ. #915888
13.09.2007 6:47
Forum Member

Forum MemberForum MemberForum MemberForum MemberForum MemberForum MemberForum MemberForum Member

участник
Last Login: 08.11.2007 8:27
Сообщ.: 33, Visits: 111
ага, спасибо.
Сообщ. #915892
« пред. тема | след. тема »


Эту тему читают Expand / Collapse
Посетители: 0 (0 гостей, 0 участников, 0 скрыт.участников)
Сейчас нет участников, просматривающих тему.
Модераторы: Alexey, boombastik, bazile, pl

Время GMT +3:00, Сейчас 1:02