各位高手,oracle 的存储过程接收不确定个数的参数,怎么写?
我写的如下,不知道对不对CREATE OR REPLACE procedure dyanCreateView ( Paramter IN varchar(5) )
AS
BEGIN
OR REPLACE VIEW scott.zzhView AS SELECT aa FROM scott.zzhTable WHERE aa IN ( Paramter );
END;编译的时候报错,请问高手如何写?
我写的如下,不知道对不对CREATE OR REPLACE procedure dyanCreateView ( Paramter IN varchar(5) )
AS
BEGIN
OR REPLACE VIEW scott.zzhView AS SELECT aa FROM scott.zzhTable WHERE aa IN ( Paramter );
END;编译的时候报错,请问高手如何写?
--传入参数字符串类似:11,22,33
v_parameter VARCHAR2(2000);
BEGIN
v_parameter := '''' || REPLACE(Paramter, ',', ''',''') || '''';
EXECUTE IMMEDIATE 'scott.zzhView AS SELECT aa FROM scott.zzhTable WHERE aa IN ( ' ||
v_parameter || ')';
END;
EXECUTE dyanCreateView('1','2','3')是报错
说参数类型或个数不对
EXECUTE IMMEDIATE 'scott.zzhView AS SELECT aa FROM scott.zzhTable WHERE aa IN ( ' ||
v_parameter || ')';我该怎么办?
CREATE OR REPLACE PROCEDURE dyanCreateView(Paramter IN VARCHAR2) AUTHID CURRENT_USER IS
--传入参数字符串类似:11,22,33
v_parameter VARCHAR2(2000);
BEGIN
v_parameter := '''' || REPLACE(Paramter, ',', ''',''') || '''';
EXECUTE IMMEDIATE 'CREATE OR REPLACE VIEW scott.zzhView AS SELECT aa FROM scott.zzhTable WHERE aa IN ( ' || v_parameter || ')';
END;
我要借贴,可是给分的时候提示错误 *_*
我想oracle中将您上面的方法继续:
将11,22,33,44,...,..,..,这样不定长度的字符串中找到逗号(,),并截取出来放入数组怎么写存储过程?