Sql server 带变量的动态SQL server查询(执行时出现问题)
这是查询的一个小得多的版本,它基本上需要一个表的变量来运行所有内容 当我运行该过程时,会收到错误消息: Msg 156,第15级,状态1,第2行 关键字“table”附近的语法不正确Sql server 带变量的动态SQL server查询(执行时出现问题),sql-server,tsql,stored-procedures,Sql Server,Tsql,Stored Procedures,这是查询的一个小得多的版本,它基本上需要一个表的变量来运行所有内容 当我运行该过程时,会收到错误消息: Msg 156,第15级,状态1,第2行 关键字“table”附近的语法不正确 alter procedure james_tester @tablename nvarchar(200) as BEGIN declare @sql nvarchar(max) set @sql = ' select * f
alter procedure james_tester
@tablename nvarchar(200)
as
BEGIN
declare @sql nvarchar(max)
set @sql =
'
select * from '
+ @tablename
EXECUTE sp_executesql @sql
END
为了解决这个问题,我尝试了使用quotename之类的东西,并对格式进行了修改,但似乎没有任何效果
执行james_tester'dbo.Calendar table'(这就是我要查询的表)问题在于如何调用过程 执行james_测试仪“dbo.Calendar表” 应该是 执行james_测试仪“dbo.Calendar” 因此出现错误消息: 关键字“表”附近的语法不正确
问题在于如何调用您的过程 执行james_测试仪“dbo.Calendar表” 应该是 执行james_测试仪“dbo.Calendar” 因此出现错误消息: 关键字“表”附近的语法不正确
表
是sql server的关键字。
因此,如果没有[]
,则无法将其用作别名。
试试这个
或
或
表
是sql server的关键字。
因此,如果没有[]
,则无法将其用作别名。
试试这个
或
或
谢谢选择*进入表格“日历”,重复所有步骤,一切正常!谢谢选择*进入表格“日历”,重复所有步骤,一切正常!
execute james_tester 'dbo.Calendar [table]'
execute james_tester 'dbo.Calendar t'
execute james_tester 'dbo.Calendar'