簡體   English   中英

Oracle PL / SQL變量的使用導致SQL Developer中的錯誤

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM