- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这适用于批处理文件:
sqlcmd -Q "exec sp_mysp @refdate = '2019-04-29'" -S myserver -d mydb -o C:\myfolder\result.csv
但我希望批处理文件循环遍历日期列表,并将每个列表成员作为变量传递给 -Q,而不是对日期进行硬编码,并且输出文件也应以日期开头。
对于我尝试过的一次约会
set inputdate = '2019-04-29'
set "outputfile=C:\myfolder\%inputdate%_result.csv"
sqlcmd -Q "exec sp_mysp @refdate = try_cast(%inputdate% as date) " -S myserver -d mydb -o outputfile
但是出现错误:关键字“as”附近的语法不正确
删除 inputdate 周围的“%”会出现错误消息:“inputdate”附近的语法不正确
使用 @inputdate 会出现错误:'@inputdate' 附近的语法不正确
最佳答案
当设置
变量的值时,您需要考虑 Windows cmd
如何解释它
示例:
set variable = value
这将从 variable
的开头到 value
的结尾进行解释。因此,给出上面的示例,您现在有一个 %variable %
的变量code>(注意尾随空格)和值 value
(注意前导空格)。因此,如果您尝试 echo %variable%
,它将返回 %variable%
,因为该变量从未设置过,其中 echo %variable %
将返回一个值,但仍然带有我们不想要的前导空格。
因此,变量和 =
之间不能有空格,=
和值之间不能有空格。此外,最好将整个变量字符串用双引号引起来,以确保值上没有尾随空格,因此最后,您需要执行以下操作:
set "inputdate='2019-04-29'"
关于sql-server - 将变量从 'list' 传递到 .bat 文件中的 sqlcmd,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56072033/
我希望将 SQL 查询 Select count(*) from Table 的输出用作批处理脚本中的变量。我正在使用 sqlcmd 来执行此查询,但还没有想出如何正确执行此操作。 如有任何帮助或示例
我正在使用 powershell 并使用 Invoke-SqlCmd .我能够将变量传递给 SQL: $variables = @( "MyVariable='hello'" ) Invoke-Sql
我在调用 Invoke-SqlCmd 时遇到问题,因为它包含第二个 Invoke-SqlCmd 调用: function Get-Foo { $query=` @" WITH data AS (
我正在使用 sqlpackage.exe 部署 dacpac,需要为 dacpac 中的部署后脚本传递 SqlCMD 变量。我发现了一个相关问题here和 here . 但是我收到以下错误:以下 Sq
我正在使用 sqlpackage.exe 部署 dacpac,需要为 dacpac 中的部署后脚本传递 SqlCMD 变量。我发现了一个相关问题here和 here . 但是我收到以下错误:以下 Sq
我可以找到的所有文档和帮助线程都包含带有 Authentication=ActiveDirectoryIntegrated 的引用连接字符串,以便通过 AAD 集成命中 SQL。如果我使用的是 SSM
我有一个运行多个 *.sql 文件的批处理文件。目前,所有变量都已硬编码在 sql 文件中。我想知道如何从 SQLCMD 批处理文件中传递变量值。 变量名示例: DECLARE @TW_FROM DA
我正在使用 SQLCMD 运行一个 270 MB 的 .sql 文件。脚本文件 (.sql) 是使用 Red Gate SQL 数据比较同步向导生成的。由于内存不足,我无法从 SSMS 运行它。我登录
我以这种方式使用 sqlcmd 执行一些命令行批处理 (.bat): sqlcmd -i Scripts\STEP01.sql -o PROCESS.log -S MYSERVER -E -d MYD
在我的部署后脚本中,我想使用这样的通配符将所有脚本文件包含在一个文件夹中: :r .\$(ReleaseName)\*.sql 有没有办法做到这一点?我找不到任何.. 最佳答案 我让它工作: ':r
所以这是我想要运行的查询 sqlcmd -E -S localhost\MSSQLSERVER_2016 -i C:\Tables.sql 在这个实例中我有多个数据库,当上面的命令运行时,我不知道它针
我正在尝试在运行 SQL Server 2005 的 Windows 计算机上使用 sqlcmd 将查询写入 csv 文件。我们通常使用的命令行选项是: -l 60 -t 300 -r 1 -b -W
我正在尝试使用 sqlcmd 来执行一些 SQL 脚本。 使用带有简单查询的测试命令,例如: sqlcmd -S HOSTNAME -d MYDATABASE -Q 'SELECT Names FRO
我正在使用以下代码在远程机器上执行查询。 Invoke-Sqlcmd -ServerInstance $serverInstance -Database $dbName -InputFile $fil
我已经调用了许多.sql文件的fetchDb.bat文件 将数据库升级到最新版本 这是用于执行.sql文件内容的命令 sqlcmd %Sqlinstance% -d DataBase -i "file
我在一个文件夹的多个文本文件中有TSQL插入语句。我需要在Powershell中使用foreach循环在sql服务器上运行。它应该转到文件夹中的每个文件,读取执行查询并再次终止连接,再读取下一个文件,
我们在使用 Powershell 和 SQLCMD 时遇到问题,当 -v 参数变量中有空间时,powershell 将无法运行命令。 例如 sqlcmd ... -v VAR="Some space"
我有一个简单的 SQLCMD 脚本,其中包含如下几行: /* Load data into Exampletable */ BULK INSERT dbo.Example /* NOTE: I
如何根据系统日期将输出文本文件命名为 YYYYMMDD? sqlcmd -S DataBBB -i c:\scripts\followup.sql -o %DATE:~4,2%_%DATE:~
我刚刚通过Chocolatey重新安装了SQL Server Express 2014。该服务当前正在运行。 当我在CMD或Powershell中运行此命令时: > sqlcmd -e -S .\SQ
我是一名优秀的程序员,十分优秀!