如何更正SQL server中的语法错误?
我试图使用以下存储过程的一部分,但在SQL Server中的表上运行时,出现错误:如何更正SQL server中的语法错误?,sql,Sql,我试图使用以下存储过程的一部分,但在SQL Server中的表上运行时,出现错误: CREATE PROCEDURE USP_Query_1 @sourcetype varchar(50), @datasource varchar(50), @queries varchar(50), @username varchar(50) NULL, @password varchar(50) NULL AS BEGIN DECLARE @SQL VA
CREATE PROCEDURE USP_Query_1
@sourcetype varchar(50),
@datasource varchar(50),
@queries varchar(50),
@username varchar(50) NULL,
@password varchar(50) NULL
AS
BEGIN
DECLARE @SQL VARCHAR(50)
SET @SQL = CASE WHEN @datasource = 'SQL Server'
THEN 'SELECT * FROM OPENROWSET
(''SQLNCLI'', ''Server='+@datasource +';Trusted_Connection=yes;'',
'''+@queries +''')'
...
END
PRINT (@SQL)
EXEC (@SQL)
END
GO
错误显示:
'从OPENROWSET中选择*
(“SQLNCLI”,“Server=”++@datasource+”;Trusted_Connection=yes;”,靠近“,”的语法不正确
我真的没有看到这里的错误,有人能告诉我它在哪里,以及有什么建议来解决这个问题吗?varchar(50)显然对于字符串来说太短了。“在参数之后指定NULL除了内存优化的过程之外没有任何价值请不要在没有首先打印SQL并检查它的情况下发布任何动态SQL语法错误问题…也没有真正了解
@querys
中的内容我们如何能够调试它?你好,Nick,ho我应该打印SQL并检查它吗?@查询将是表中的select语句,例如:“select*from Features.dbo.NAME”