3
CREATE PROCEDURE A(tab IN <table - what should I write here?>) AS
BEGIN
INSERT INTO tab VALUES(123);
END A;
如何指定參數tab
是表名?在PL/SQL過程中,我如何傳遞一個表名作爲參數?
CREATE PROCEDURE A(tab IN <table - what should I write here?>) AS
BEGIN
INSERT INTO tab VALUES(123);
END A;
如何指定參數tab
是表名?在PL/SQL過程中,我如何傳遞一個表名作爲參數?
你不能。相反,你需要在把它作爲一個VARCHAR2字符串,然後使用動態SQL:
CREATE PROCEDURE A(tab IN VARCHAR2) AS
BEGIN
EXECUTE IMMEDIATE 'INSERT INTO ' || tab || 'VALUES(123)';
END A;
閱讀了有關Dynamic SQL和感知,用不明智,如較差的性能,可擴展性和安全性它可以帶來的各種問題。
謝謝!請看看[這個問題](http://stackoverflow.com/questions/3440516)。 – Moeb 2010-08-09 13:34:20