如何通过ADO.NET在单个命令(单次执行)中执行以下SQL?
ALTER TABLE [MyTable]
ADD NewCol INT
GO
UPDATE [MyTable]
SET [NewCol] = 1
Run Code Online (Sandbox Code Playgroud)
GO不支持批处理分隔符,如果没有它,则第二个语句将失败.
除了使用多次command执行之外,还有其他解决方案吗?
我在SQL服务器中编写的查询主要由不了解SQL的人运行,并且每次运行查询时都有两个区域必须输入不同的字符串或日期.到目前为止,我只是编写它,以便您在查询顶部输入信息并将其存储为变量.有没有办法让我可以让SQL提示运行查询的人输入数据?下面是我正在谈论的代码的摘录.
declare
/*ENTER ACCOUNTING MONTH*/
@amon VARCHAR(2) = '05',
/*ENTER INVOICE DATE IN MM/DD/YYYY FORMAT*/
@invdate DATE = '05/31/2015'
~~
rest of the code
~~
declare @sumA numeric(25, 5), @sumB numeric(25, 5), @ratio numeric(25, 5)
select @sumA = sum(amnt) from accnt where accno = '1152'
select @sumB = sum(amnt) from acc1152
update acc1152 set amnt = amnt * (@sumA/@sumB),
amon = @amon,
invdate = @invdate,
ven = '1152',
code = '1152',
invno = 'INVENTORY'
Run Code Online (Sandbox Code Playgroud)
那么SQL是否可以提示用户输入@amon和@invate的值?除了我只是让评论线告诉他们这样做?
我正在尝试从powershell运行sql脚本.sql文件并将结果保存到.sql文件中.概述:SQL数据库还原需要用户和权限备份预还原,并且在还原完成后,我们需要在数据库上执行输出(用户权限备份,我们已执行预还原).
这是我的脚本,当我执行时,我看到一个空文件.
Add-PSSnapin SqlServerProviderSnapin100;
$server = 'DBA_Test';
$database = 'Test';
$mydata = invoke-sqlcmd -inputfile "C:\users\security.sql" -serverinstance $server -database $database | Format-Table -HideTableHeaders -AutoSize
$mydata | out-file C:\users\output.sql;
Remove-PSSnapin SqlServerCmdletSnapin100;
Run Code Online (Sandbox Code Playgroud)
有人可以帮我吗?
提前致谢