我發現這條線在SQL代碼:什麼是「@」在SQL *做加
@../../sql_scripts/create_tables.sql
它有什麼作用?我知道@@file.sql
意味着運行file.sql,當我們想要稍後提供參數值時可以使用@
,但在這裏我有@
後跟一個文件名。我知道有一個類似的問題,但它只包含查詢中的@
。
我發現這條線在SQL代碼:什麼是「@」在SQL *做加
@../../sql_scripts/create_tables.sql
它有什麼作用?我知道@@file.sql
意味着運行file.sql,當我們想要稍後提供參數值時可以使用@
,但在這裏我有@
後跟一個文件名。我知道有一個類似的問題,但它只包含查詢中的@
。
這裏的@
不是SQL語言的一部分。這可能是SQL解釋器的命令,可能是Oracle SQL * Plus。
SQL * Plus有許多單字符命令,如@
或/
(其中執行緩衝SQL),;
可當您在.sql
文件遇到他們來令人費解。在Oracle 9i文檔中記錄了here。在那裏你會看到與@@
的區別。
documentation for Oracle 11g Release 2,點擊下一節查看@@參考。
看起來可能是候選人。 – Jodrell
@
允許您將另一個腳本導入您在SQL * Plus中運行的SQL腳本。
例如,該執行的otherscript.sql
的內容在指定點:
PROMPT about to run other script
@otherscript.sql
PROMPT finished running other script
另一個例子,該插入另一個文件的內容插入到語句在SQL要執行的中間*加:
SELECT * FROM mytable WHERE
@predicates_for_mytable.sql
AND bla = 1;
唯一的條件是@
必須出現在行的第一個字符。
@DarkCthulhu - 不是這個問題的重複。這不是一個參數。 Sorin什麼工具處理這個SQL? –
我的錯誤。不是同一個問題。 –
你是什麼意思的SQL,TSQL,PSQL或其他與SQL風格的語法?您問題中的代碼作爲標準SQL無效。您可能正在使用一些將該行作爲包含或執行的預處理器。 – Jodrell