Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Tsql t/sql中的Excel参数不使用SP选择TOP xxx_Tsql_Excel_Parameters - Fatal编程技术网

Tsql t/sql中的Excel参数不使用SP选择TOP xxx

Tsql t/sql中的Excel参数不使用SP选择TOP xxx,tsql,excel,parameters,Tsql,Excel,Parameters,这真的只是一个简短的问题,但我到处都找不到答案 是否可以在t/sql查询中使用Excel参数作为SELECT TOP xxxx,此处的参数定义提取多少行,而无需使用存储过程?从sql 2005及更高版本,您可以将查询编写为: 在msquery中输入以下内容: {CALL sp_executesql (N'select top (@a) * from mytable', N'@a int', ?)} 我不确定是否应用Excel参数,但要在T-SQL中执行此操作,请执行以下操作: selec

这真的只是一个简短的问题,但我到处都找不到答案


是否可以在t/sql查询中使用Excel参数作为SELECT TOP xxxx,此处的参数定义提取多少行,而无需使用存储过程?

从sql 2005及更高版本,您可以将查询编写为:

在msquery中输入以下内容:

   {CALL sp_executesql (N'select top (@a) * from mytable', N'@a int', ?)}

我不确定是否应用Excel参数,但要在T-SQL中执行此操作,请执行以下操作:

select *
from (
    select row_number() over (order by [Field]) as rowNum, *
    from [myTable] ) s
where s.rowNum < @maxRows

如果您在Excel中,是否可以不使用Concat来构建sql查询

Concatenate("select top ", $D2, " from mytable where...")
并使用该单元格的值作为tsql表达式


where子句中不允许使用窗口函数。@GSerg-对不起,是的,请使用子queryGod。多年来,我一直受到无法用图形表示的查询中不允许使用参数的困扰。我发明了一个完整的系统来解决这个限制。你能分享一个关于这个语法的文档链接吗?即使数据库中的实际参数是nvarchar4000,Excel似乎也会用空格填充这些字符串参数,通常最多8000个字符,这会导致溢出。我想知道是否有任何语法调整会影响它。此sp_executesql技巧在某些计算机上正常工作,但在某些其他计算机上不起作用,Excel会在刷新表时出错,[SQL Native Client]无效参数号。错误来自Excel,当我在MSQuery中打开查询并刷新它时,它工作正常。计算机有相当不同的配置,我不能准确地指出是什么导致了这项工作或失败,一定是某个地方的系统设置或某个版本的东西,因为Excel手册每次都是一样的。你能解释一下吗?如果你使用SQL Server驱动程序,你会有更多的成功机会。不是SQL Server本机客户端xx.x驱动程序。不,没有帮助。给出错误的计算机上出现相同的错误。类似地,在没有给出错误的计算机上使用这两个驱动程序。这是有意义的,因为即使在有问题的计算机上,MSQuery也总是使用任何驱动程序正确执行查询,在收到MSQuery的语句定义后,Excel就是白痴。而且它似乎也不依赖于2003年到2013年的Excel版本,而它似乎与Windows7和WindowsXP有关。我们仍在调查中,但到目前为止运气不佳。