Sql server 靠近';的语法不正确';。进行中
您的SQL不正确,因为SQL字符串中有单引号。你需要逃离这些。例如:Sql server 靠近';的语法不正确';。进行中,sql-server,Sql Server,您的SQL不正确,因为SQL字符串中有单引号。你需要逃离这些。例如: IF NOT EXISTS (SELECT * FROM sys.procedures WHERE name = 'spGetEmployeeListWithOutputVariable') BEGIN EXEC('CREATE PROCEDURE spGetEmployeeListWithOutputVariable @NoOfRecord INT OUTPUT AS
IF NOT EXISTS (SELECT * FROM sys.procedures WHERE name = 'spGetEmployeeListWithOutputVariable')
BEGIN
EXEC('CREATE PROCEDURE spGetEmployeeListWithOutputVariable
@NoOfRecord INT OUTPUT
AS
BEGIN
SELECT @NoOfRecord = COUNT(EmployeeID)
FROM EmployeeData
SELECT
employee.EmployeeId,
employee.EmployeeName,
employee.ContactNumber,
STUFF((SELECT ',' + hobby.Name FROM Hobbies AS hobby
JOIN dbo.MapHobbiesData AS MapEmpHob
ON MapEmpHob.HobbiesId=hobby.HobbiesId
WHERE MapEmpHob.EmployeeId=employee.EmployeeId
FOR XML PATH(''))
,1,1,'') Hobbies,
NoOfEmpRecords = @NoOfRecord
FROM EmployeeData AS employee
END')
END
用双倒逗号(“”)替换单倒逗号(“”)
你试过运行静态查询吗?我试过了,它被执行了。@ChetanSanghani这怎么可能是真的?上面的SQL有一个语法错误。不是语法错误我只得到了一个“正确的语法错误”)“这只对我来说是无效的@Chetan Sanghani
IF NOT EXISTS (SELECT * FROM sys.procedures WHERE name = 'spGetEmployeeListWithOutputVariable')
BEGIN
EXEC('CREATE PROCEDURE spGetEmployeeListWithOutputVariable
@NoOfRecord INT OUTPUT
AS
BEGIN
SELECT @NoOfRecord = COUNT(EmployeeID)
FROM EmployeeData
SELECT
employee.EmployeeId,
employee.EmployeeName,
employee.ContactNumber,
STUFF((SELECT '','' + hobby.Name FROM Hobbies AS hobby
JOIN dbo.MapHobbiesData AS MapEmpHob
ON MapEmpHob.HobbiesId=hobby.HobbiesId
WHERE MapEmpHob.EmployeeId=employee.EmployeeId
FOR XML PATH(''''))
,1,1,'''') Hobbies,
NoOfEmpRecords = @NoOfRecord
FROM EmployeeData AS employee
END')
END
EXEC('CREATE PROCEDURE spGetEmployeeListWithOutputVariable
@NoOfRecord INT OUTPUT
AS
BEGIN
SELECT @NoOfRecord = COUNT(EmployeeID)
FROM EmployeeData
SELECT
employee.EmployeeId,
employee.EmployeeName,
employee.ContactNumber,
STUFF((SELECT '','' + hobby.Name FROM Hobbies AS hobby
JOIN dbo.MapHobbiesData AS MapEmpHob
ON MapEmpHob.HobbiesId=hobby.HobbiesId
WHERE MapEmpHob.EmployeeId=employee.EmployeeId
FOR XML PATH(''''))
,1,1,'''') Hobbies,
NoOfEmpRecords = @NoOfRecord
FROM EmployeeData AS employee
END')