例如CREATE OR REPLACE PROCEDURE SPGetConsumptionTax
(
...
P_vDBLink IN VARCHAR, --DBLink名称
) IS
BEGIN
SELECT * FROM ZCMMHSHOHZEIRITSU@ P_vDBLink
END;P_vDBLink是参数,编译不通过,有啥办法吗?
(
...
P_vDBLink IN VARCHAR, --DBLink名称
) IS
BEGIN
SELECT * FROM ZCMMHSHOHZEIRITSU@ P_vDBLink
END;P_vDBLink是参数,编译不通过,有啥办法吗?
要么就是定义在游标里,你这么写肯定通不过的.
CREATE OR REPLACE PROCEDURE SPGetConsumptionTax
(
...
P_vDBLink IN VARCHAR --DBLink名称
)
IS
v_SQL_STR VARCHAR2(200);
BEGIN
v_SQL_STR := 'SELECT * FROM ZCMMHSHOHZEIRITSU@ '||P_vDBLink ;
EXECUTE IMMEDIATE v_SQL_STR ;
END;
(
...
P_vDBLink IN VARCHAR, --DBLink名称
) IS
v_sql varchar2(255);
BEGIN
v_sql:='SELECT * FROM ZCMMHSHOHZEIRITSU@' || P_vDBLink;
execute immediate v_sql;
END;