SQLCMD: Prompt for Variable?

元气小坏坏 提交于 2019-12-31 04:50:08

问题


Coming from an Oracle background, Oracle's SQLPlus would let you indicate a variable. If the variable wasn't set, you'd be prompted to provide a value.

I'm using SQLCMD, using the $([var_name]) syntax. In SSMS SQLCMD mode, I get:

A fatal scripting error occurred.
Variable tbl_name is not defined.

...for trying to run:

SELECT COUNT(*) FROM $(tbl_name)

Does SQLCMD provide the same functionality as SQLPlus? If so, what am I doing wrong?


回答1:


SQLCMD does not support prompting for missing variable names. However, you can use SSMS in SQLCMD mode. Dunno how you're error was caused, but this works for me:

:setvar table "sys.tables"

SELECT * FROM $(table);



回答2:


There is a free tool "SQLS*Plus" which is an SQL*Plus for SQL Server. Works with SQL Server 2000/2005 and 2008

Very flexible with data formatting (set lines size, pagesize, etc), variables (&, &&), spool, etc - light years better than isql, osql or sqlcmd

I downloaded SQLS*Plus from http://www.memfix.com



来源:https://stackoverflow.com/questions/3302225/sqlcmd-prompt-for-variable

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!