table1的另一表1:如何動態插入列值成表2 SELECT * FROM其具有比表2的一列少
t1_column1 t1_column2 t1_column3
1 2 3
2 3 4
table2 is :
t2_column1 t2_column2 t2_column3 t2_column4
1 2 3 0
2 3 4 0
在這裏,我傳遞值作爲函數參數,但是當我 嘗試創建此函數時出現此錯誤:錯誤(11,7): PL/SQL:SQL語句被忽略並且錯誤(11,108):PL/SQL:ORA-00917: 缺少逗號
CREATE OR REPLACE FUNCTION NEW_PURCHASE(GODOWN_CODE IN VARCHAR2,MON IN
VARCHAR2)
RETURN VARCHAR2 IS
var_mon VARCHAR2(100);
PRAGMA AUTONOMOUS_TRANSACTION;
BEGIN
var_mon:=MON;
INSERT INTO table2
(t2_column1, t2_column2, t2_column3, var_mon)
SELECT t1_column1, t1_column2, t1_column3
FROM table1 WHERE t1_column1=GODOWN_CODE;
DELETE FROM table1 WHERE t1_column1=GODOWN_CODE;
COMMIT;
RETURN 'done';
END NEW_PURCHASE;
't2.mon作爲var_mon'這是不對的 – XING
它應該工作。還有你最後一個問題發生了什麼。你沒有接受任何答案而關閉它。 – XING
沒有必要在插入語句中使用列別名。正如@XING所說的't2.mon as var_mon'是錯誤的。只需從插入列列表和選擇列列表中刪除列別名即可。 – BriteSponge