我有2個表。 第一個表中包含許多教室 (姓名,年齡,教室)plsql遊標插入到不同的模式
另一張表的模式爲每個classrom(教室,SCHEMA_NAME)
(所以有FO各classrom不同的架構)
的學生所以我對每個類都有不同的模式。我需要從學生表中提取所有數據並將其複製到正確模式的目標表中。 (我登錄作爲管理員,我可以訪問所有模式)
這裏是我的發言:
DECLARE
CURSOR all_pupils
IS
SELECT NAME, AGE, CLASSROOM FROM TABLE_1
BEGIN
FOR pupil_rec
IN all_pupils
LOOP
EXECUTE IMMEDIATE 'INSERT INTO '
|| (Select schema_name FROM TABLE_2 sn WHERE sn.classroom=pupil_rec.CLASSROOM) ||'.TARGET_TABLE '
||'(name, age) VALUES (pupil_rec.name, pupil_rec.age';
END LOOP;
END;
/
我收到此錯誤:
PLS-00103: Encountered the symbol "END" when expecting one of the following:
我剛開始學習PLSQL和我被告知我必須用光標來做。有人可以幫助我,告訴我這是否正確嗎?我的結構似乎不正確..如何避免這些錯誤
你不能只落個'(選擇...)'在任何一行的中間你喜歡。您需要展開光標以包含所需的值。 –