我有一個pl \ sql腳本,我想將腳本中使用的表名設置爲一個變量。所以,從我在網上找到的一些例子中,我寫下了下面的代碼。第一部分的工作原理,所以我認爲我的一般語法是正確的,但第二部分,我試圖使用一個變量爲一個表名錯誤(「SQL錯誤:ORA-00903:無效的表名」)。如何在表格名稱的oracle腳本中使用變量
任何人都知道我在做什麼錯...我沒有做很多PL \ SQL,所以也許我只是錯過了一些明顯的東西。
--works
variable numOfrecords number;
exec :numOfrecords := 10;
select * from customers2008 where rownum < :numOfrecords;
--does not work
variable tableNm CHAR;
exec :tableNm := 'customers2008';
print tableNm;
select * from :tableNm;
僅供參考:根據您的示例,您並未真正使用PL/SQL。我認爲你的意思是你有一個SQLPlus腳本。從技術上講,你的exec命令正在調用PL/SQL,但總體來說,你在這裏展示的是SQLPlus命令。 – 2009-07-24 19:57:36
嗯,從技術上說,他使用了兩種 - 腳本中的變量命令聲明瞭一個PL/SQL綁定變量。 – 2009-07-24 20:08:06