請教Oracle dbms_sql Package問題 |
|
daniel
一般會員 發表:12 回覆:20 積分:16 註冊:2002-06-03 發送簡訊給我 |
1. 我測試Create一個strored function,function name為 "testfunc",
因table name於Run time 才給,使用dbms_sql package,如附 2. 當select testfunc from dual結果出現
select testfunc from dual
*
ERROR 在行 1:
ORA-06571: 函數 TESTFUNC 不保證不會更新資料庫 3. 看了ORA-0671說明仍不得要領,請教高手應如何解決? 附:
create or replace function testfunc return integer is
bCount integer := 0;
bCursor integer;
bIgnore integer;
bTable Varchar2(20);
bSql long;
begin
--將 指定table 的筆數回傳
bTable := 'myTable'; -- 假設run time才指定table name
bSql := 'select count(*) from ' bTable;
bCursor := DBMS_SQL.open_cursor;
dbms_sql.parse(bCursor,bSql,dbms_sql.native);
dbms_sql.define_column(bCursor,1,bcount);
bIgnore := dbms_sql.execute(bCursor);
if dbms_sql.Fetch_rows(bCursor) > 0 then
dbms_sql.column_value(bCursor,1,bCount);
end if;
dbms_sql.close_cursor(bCursor);
return(bCount);
end;
/ 發表人 - daniel 於 2002/06/17 10:42:06
|
daniel
一般會員 發表:12 回覆:20 積分:16 註冊:2002-06-03 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |