怎么定义有入参也有出参的存储过程,以及怎么调用。1.尤其是在调用的时候怎么传出参;2.还有入参里面若有引号等符号,怎么传参。3.获取影响行的sql语句是什么。
例如:
CREATE PROCEDURE IMAGES_TEST.ProcessReporter( p_sqlCmd in varchar(300), p_rowCount out int) as
V_TEMP_CMD varchar;
begin
V_TEMP_CMD = p_sqlCmd;
print V_TEMP_CMD;
EXECUTE IMMEDIATE V_TEMP_CMD;
p_rowCount = 1;
end;
调用报错实例:
CALL IMAGES_TEST.ProcessReporter(‘UPDATE IMAGES_TEST.t_study SET ReportStatus = 10 WHERE StudyInstanceUID=‘1.2.840.31314.14143234.20060817153228.338096’;’,@p_rowCount);
单引号可以用一个单引号来转义,或者定义一个变量,先赋值给变量,把变量作为入参
1.把@符号改为冒号:
2.参数里面有单引号的需要再套一层单引号
下面是个例子
CALL IMAGES_TEST.ProcessReporter(‘select ‘‘a’’ from dual;’,:p_rowCount);