我想通過所有表和ID和表名複製到表中多行。 由於我必須使用一個變量作爲表名,我用IMMEDIATE EXECUTE試了一下。但對於動態SQL,INSERT INTO語句只允許單行。的Oracle PL/SQL - 我如何可以插入使用動態SQL
下面的SQL語句就是這樣,如果 IMMEDIATE EXECUTE將允許INSERT INTO與muplitple行。
DECLARE
sqlStat VARCHAR2(500);
BEGIN
FOR TName IN (
SELECT TABLE_NAME FROM all_tab_cols WHERE column_name='ID'
)
LOOP
sqlStat := 'INSERT INTO storeTab (ID,TABLE_NAME) SELECT ID, '' :1 '' FROM :2';
EXECUTE IMMEDIATE sqlStat USING TName.TABLE_NAME,TName.TABLE_NAME;
END LOOP;
END;
如何循環訪問表並收集記錄?
獲取串聯查詢所做的工作,我能夠檢索多個行。感謝您的快速解決方案! – DonJoe