2010-07-21 154 views
1

從Oracle的背景來看,Oracle的SQLPlus會讓你指出一個變量。如果該變量未設置,則系統會提示您提供值。SQLCMD:提示變量?

我正在使用SQLCMD,使用$([var_name])語法。在SSMS SQLCMD模式下,我得到:

發生致命的腳本錯誤。
變量tbl_name未定義。

...對於試圖運行:

SELECT COUNT(*) FROM $(tbl_name) 

不SQLCMD提供相同的功能的SQLPlus?如果是這樣,我做錯了什麼?

+0

您是否可以包含用於調用SQLCMD的代碼? – 2010-07-21 17:57:23

+0

@Tom H .:我只通過SQLCMD模式ATM進行測試。我的觀點是,我已經看到如何提供變量,但想知道SQLCMD是否支持像SQLPlus那樣的用戶交互。 – 2010-07-21 18:02:33

回答

2

SQLCMD不支持提示缺少變量名稱。但是,您可以在SQLCMD模式下使用SSMS。說不上怎麼你的錯誤是造成的,但是這對我的作品:

:setvar table "sys.tables" 

SELECT * FROM $(table); 
+0

我得到錯誤cuz我沒有提供setvar部分。 – 2010-07-21 19:07:41

+0

SQLCMD不支持像SQLPlus一樣的GUI行爲。也許看看SQL-PowerShell。 – 2010-07-21 19:38:13

1

有一個免費的工具「SQLS * Plus的」,這是一個在SQL * Plus爲SQL Server。與SQL Server 2000/2005的工作和2008年

與數據格式(集線大小,頁面大小等),變量(&,& &),閥芯等非常靈活 - 光年比ISQL,OSQL更好或SQLCMD

我從http://www.memfix.com下載了SQLS * Plus