存储过程中如何在定义游标时使用动态表 / 在线等待 (200分)

  • 主题发起人 主题发起人 hfllj_cn
  • 开始时间 开始时间
H

hfllj_cn

Unregistered / Unconfirmed
GUEST, unregistred user!
过程如下:
REATE PROCEDURE up_LPMove(
@TempTableName varchar(50)
AS
declare @d_TempString varchar(500),
select @d_TempString="declare cursor_Move Cursor local For select itemcode,moveQty from " + @TempTableName + " where checkNo=1"
exec(@d_TempString)
open cursor_Move
....
在执行时总是报:A cursor with the name 'cursor_Move' does not exist.
请高手赐教
 
to 卡色 ,什么意思
 
不会不知道UP的意思吧,就是帮你提前;
 
create or replace procedure GetFirstRow(
P_TabName in varchar2) is
row_num integer;
v_cursor integer;
v_sqlstr varchar2(500);
v_dummy integer;
begin
v_Sqlstr:='select count(*) from TabName';
v_cursor:=dbms_sql.open_cursor;
dbms_sql.parse(v_cursor,v_sqlstr,dbms_sql.v7);
dbms_sql.bind_variable(v_cursor,'TabName',p_TabName);
dbms_sql.define_column(v_cursor,1,row_num);
v_dummy:=dbms_sql.execute(v_cursor);
if dbms_sql.fetch_rows(v_cursor)=0 then
dbms_output.put_line('error');
end if;
dbms_sql.column_value(v_cursor,1,Row_num);
dbms_sql.close_cursor(v_cursor);

dbms_output.put_line(row_num);
end GetFirstRow;


oracle 可以这样做
 
后退
顶部