create or replace procedure procedureName(fields In Varchar2,strSql in varchar2,p_out Out Number) isvar_sql varchar2(8000); --存放构造游标的sql语句
type mycursor is ref cursor; --定义游标类型
mycur mycursor; --定义动态游标beginvar_sql:='Update Jz_Limit_Price Set '||fields;
var_sql:=var_sql|| strSql;--请问这样的Sql如何执行。谢谢...
type mycursor is ref cursor; --定义游标类型
mycur mycursor; --定义动态游标beginvar_sql:='Update Jz_Limit_Price Set '||fields;
var_sql:=var_sql|| strSql;--请问这样的Sql如何执行。谢谢...
编译错误错误: PLS-00103: 出现符号 "VAR_SQL"在需要下列之一时:
:=.(@%;immediate
符号 ":=" 被替换为 "VAR_SQL" 后继续。
行: 30
文本: execute var_sql;
v_cursorid number;
v_sql varchar2(500);
v_row int;
begin
v_cursorid=dbms_sql.open_cursor;
v_sql:='Update Jz_Limit_Price Set '||fields;
dbms_sql.parse(v_cursorID,sql_stmt,dbms_sql.v7);
v_row:=dbms_sql.execute(v_cursorID);
end;
v_cursorid number;
v_sql varchar2(500);
v_row int;
begin
v_cursorid=dbms_sql.open_cursor;
v_sql:='Update Jz_Limit_Price Set '||fields;
dbms_sql.parse(v_cursorID,sql_stmt,dbms_sql.v7);
v_row:=dbms_sql.execute(v_cursorID);
end;
v_cursorid number;
v_sql varchar2(500);
v_row int;
begin
v_cursorid=dbms_sql.open_cursor;
v_sql:='Update Jz_Limit_Price Set '||fields;
dbms_sql.parse(v_cursorID,sql_stmt,dbms_sql.v7);
v_row:=dbms_sql.execute(v_cursorID);
end;
这可以在存储过程中使用吗。试下
行: 29
type mycursor is ref cursor; --定义游标类型
mycur mycursor; --定义动态游标beginvar_sql:='Update Jz_Limit_Price Set '||:a;
var_sql:=var_sql|| '=' ||''' || :b || ''';
excute immediate var_sql using fields,strSql;....
PROCEDURE INFO.JZ_LIMIT_EXPERT_PRICE 编译错误错误: PLS-00049: 错误的赋值变量 'A'
行: 26
文本: var_sql:='Update Jz_Limit_Price Set '||:a;
declare
v_cursorid integer;
v_sql varchar2(500);
v_row integer;
begin
v_cursorid=dbms_sql.open_cursor;
v_sql:='Update Jz_Limit_Price Set '||fields;
dbms_sql.parse(v_cursorID,v_sql,dbms_sql.native);
v_row:=dbms_sql.execute(v_cursorID);
dbms_sql.close_cursor(v_cursorID);
end;
declare
v_cursorid integer;
v_sql varchar2(500);
v_row integer;
begin
v_cursorid=dbms_sql.open_cursor;
v_sql:='Update Jz_Limit_Price Set '||fields;
dbms_sql.parse(v_cursorID,v_sql,dbms_sql.native);
v_row:=dbms_sql.execute(v_cursorID);
dbms_sql.close_cursor(v_cursorID);
end;
declare
v_cursorid integer;
v_sql varchar2(500);
v_row integer;
begin
v_cursorid=dbms_sql.open_cursor;
v_sql:='Update Jz_Limit_Price Set '||fields;
dbms_sql.parse(v_cursorID,v_sql,dbms_sql.native);
v_row:=dbms_sql.execute(v_cursorID);
dbms_sql.close_cursor(v_cursorID);
end;