|
|
|
Forum 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 THENIF date2 is not null THENWhereClause(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" не является процедурой или не определена. С чем эта ошибка связана и как ее можно исправить?
|
|
|
|
|
Supreme Being
      
участник
Last Login: 12.10.2007 4:11
Сообщ.: 219,
Visits: 1 804
|
|
| dms_sql.execute - функция, а не процедура. вызываешь не правильно
|
|
|
|
|
Forum Member
      
участник
Last Login: 08.11.2007 8:27
Сообщ.: 33,
Visits: 111
|
|
|
|
|