小编Jon*_*oJr的帖子

如何使用动态查询插入表变量?

我尝试使用临时表来开发这个存储过程但是这不起作用所以我切换到使用表变量.我需要对表变量执行临时动态查询,然后使用该表变量来执行最终查询.问题是我收到错误"必须声明标量变量@clms".我假设Exec没有表变量的范围?

DECLARE @qry nvarchar(4000)
DECLARE @clms TABLE (mastcatname nvarchar(50),engdtlbeta decimal (18,4))
SET @qry='INSERT INTO @clms 
          SELECT distinct replace(mastcatname, '' '', '''') as mastcatname, 
                 engdtlbeta 
          FROM vw_Scorecard 
          WHERE empsurveyid=' + cAST(@EmpSurveyID AS nvarchar(10)) + ' 
               AND UnitID IN (' + @UnitIDs + ') 
          ORDER BY engdtlbeta desc, MastCatName'

EXEC(@qry)

DECLARE @cols nvarchar(1000)
SELECT @cols=COALESCE (@cols + ',[' + mastcatname + ']', '[' + mastcatname + ']') 
FROM @clms


SET @qry='SELECT UnitName ,
                 ParentName, ' + @cols + ' 
          FROM (
                SELECT …
Run Code Online (Sandbox Code Playgroud)

sql sql-server-2008

7
推荐指数
1
解决办法
2万
查看次数

如何递归地求和父/子层次结构

我有一个如下所示的数据表:

UnitID  UnitParentID    ScoreCount  ScoreSum   Level
7112                       72          292       1 
7120    7112               72          308       2
7139    7112               24           82       2 
7150    7112              166          586       2
23682   7112              104          414       2
7100    7112              272         1016       2
23691   7112               94          300       2
23696   7112               24           80       2
23700   23696             184          594       3
23694   23691              24           64       3
23689   7120               88          390       3
7148    23696             112          420       3
7126    7120               32          132       3
7094    7120               96          332       3
7098    7094               64          240       4 …
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server

6
推荐指数
1
解决办法
289
查看次数

sqlcmd 不从 .bat 文件运行,但它可以从命令行运行

我正在尝试运行一个简单的批处理文件,该文件调用 SQL Server 中的备份脚本。当我将其输入命令行时,它可以工作,但是当从 .bat 文件运行时,什么也没有发生。没有错误,根本没有输出。

\n\n
sqlcmd.exe -S WIN-FPQSHCEB0EM -E -Q "EXEC sp_BackupDatabases @backupLocation=\'E:\\Backups\\\', @databaseName=\xe2\x80\x99xxxxxx\xe2\x80\x99, @backupType=\'F\'"\nPAUSE\n
Run Code Online (Sandbox Code Playgroud)\n\n
    \n
  • 我已经尝试过使用和不使用服务器名称(-S)
  • \n
  • 我已经明确设置了一条路径,没有影响。
  • \n
  • 执行 sqlcmd 时,我使用了整个路径。
  • \n
\n\n

知道为什么这行不通吗?

\n

sql-server batch-file

3
推荐指数
1
解决办法
5025
查看次数

标签 统计

sql ×2

sql-server ×2

batch-file ×1

sql-server-2008 ×1

t-sql ×1