2010-07-21 109 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