[英]Oracle PL/SQL variable use causes error in SQL developer
我執行以下語句:
DESC &TBL_NAME;
SQL開發人員提示兩次詢問TBL_NAME的值。 輸入兩次值后,它將報告:
DESC &TBL_NAME;
ERROR:
--------------------------------------------------------------------------------------------------------------------------------
ERROR: object does not exist
1 rows selected
如果我在其他語句中使用變量符號“&”,就可以了。 它只是與“ Desc”語句不兼容。
我認為您可以通過以下代碼實現相同的重用,但請確保以大寫字母輸入表格名稱
select trim(COLUMN_NAME),trim(DATA_TYPE) from ALL_TAB_COLUMNS where TABLE_NAME = '&tn' order by column_id
&用於表示一個替換變量,該變量接受用戶輸入並返回一個字符串,DESCRIBE語法接受表/視圖名稱,該名稱不應該像字符串一樣包含在qoutation標記中。
DESCRIBE {table-Name | view-Name}
DESC&TBL_NAME == DESC“ <'TBL_NAME'>”
desc "Employee";
輸出量
desc "Employee"
ERROR:
-------------------------------------
ERROR: object Employee does not exist
Desc Employee;
輸出量
desc Employee
Name Null Type
---------- -------- -------------
CO_CD NOT NULL NUMBER(2)
PAYEE_CODE NOT NULL VARCHAR2(7)
PAYEE_NAME NOT NULL VARCHAR2(50)
TIN1 NUMBER(3)
TIN2 NUMBER(3)
TIN3 NUMBER(3)
TIN4 NUMBER(5)
FIRST_NAME VARCHAR2(30)
MID_NAME VARCHAR2(30)
LAST_NAME VARCHAR2(30)
ACTIVE_TAG VARCHAR2(1)
USER_ID VARCHAR2(12)
UPDT_DT DATE
CREATE_DT DATE
UPDT_BY VARCHAR2(15)
EMAIL_ADDR VARCHAR2(100)
注意: &是SQL * Plus的獨有功能,不應在SQL Developer中使用。
供您參考: https : //docs.oracle.com/cd/E11882_01/server.112/e16604/ch_five.htm#CACIFHGB
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.