BEGIN
StrLocalWorkTableName:=TblnameW;
StrLocalWorkPrmName:=PrmName;
StrLocalHistoryTableName:=TblnameH ;
StrLocalHistoryPrmName:=StrLocalWorkPrmName; StrCntSQLW:='SELECT COUNT(*) INTO :numRowCntW FROM '|| StrLocalWorkTableName ||
' where '|| StrLocalWorkPrmName ||'=:PrmValue ';
dbms_output.put_line(StrCntSQLW);
execute immediate StrCntSQLW into numRowCntW using PrmValue;
create or replace function test return varchar2 as
v_cursor number;
v_string varchar2(200);
v_row number;
begin
v_cursor:=dbms_sql.open_cursor;
--v_string:='update fnd_user a set a.description=''丁亚军'' where a.user_id=1055';
v_string:='create table testdb (text varchar2(200))';
dbms_sql.parse(v_cursor,v_string,dbms_sql.native);
v_row:=dbms_sql.execute(v_cursor);
dbms_sql.close_cursor(v_cursor);
return ('成功执行');
exception
when others then
dbms_sql.close_cursor(v_cursor);
return ('执行失败!'||sqlcode||sqlerrm);
raise;
end;
StrCntSQLW:='SELECT COUNT(*) INTO :numRowCntW FROM '|| StrLocalWorkTableName ||
' where '|| StrLocalWorkPrmName ||'=:PrmValue ';execute immediate StrCntSQLW into numRowCntW using PrmValue;
怎么改写成oracle7中的语句啊?各位大侠请指教
create or replace function test return varchar2 as
v_cursor number;
v_string varchar2(200);
v_row number;
begin
v_cursor:=dbms_sql.open_cursor;
v_string:='create table testdb (text varchar2(200))';
dbms_sql.parse(v_cursor,v_string,dbms_sql.native);
v_row:=dbms_sql.execute(v_cursor);
dbms_sql.close_cursor(v_cursor);
return ('成功执行');
exception
when others then
dbms_sql.close_cursor(v_cursor);
return ('执行失败!'||sqlcode||sqlerrm);
raise;
end;oracle 8.1.7编译通过.
nSQL NUMBER;
table_name varchar2(20);
my_count INT;
begin
nSQL := DBMS_SQL.OPEN_CURSOR;
table_name := 'T' || LTRIM(TO_CHAR(my_bbh, v_format ));
sqlcmd := 'SELECT COUNT(*) FROM tabs WHERE TABLE_NAME=:TBNAME';
DBMS_SQL.PARSE( nSQL, sqlcmd, DBMS_SQL.v7 ) ;
DBMS_SQL.BIND_VARIABLE( nSQL, ':TBNAME', table_name ) ;
DBMS_SQL.DEFINE_COLUMN( nSQL, 1, my_count ) ;
ret := DBMS_SQL.EXECUTE( nSQL ) ;
LOOP
IF DBMS_SQL.FETCH_ROWS( nSQL ) = 0 THEN
EXIT;
END IF;
DBMS_SQL.COLUMN_VALUE( nSQL, 1, my_count ) ;
END LOOP;
DBMS_SQL.CLOSE_CURSOR( nSQL );
end; 其他自己补上
StrLogSQLB:='SELECT LOGNSTA,LOGNDCN INTO :StrSta,:numDcn FROM TBLLOGN' ||
' WHERE (LOGNPRM=:PrmValue) AND (LOGNTBN=:StrLocalWorkTableName)';
要取出多于1个字段时,
ret=DBMS_SQL.EXECUTE( nSQL ) ;怎么用呢