以下简单的存储过程无法返回结果集,即使将这个简单的SELECT语句与实际值隔离运行也可以正常工作。有什么想法吗?
ALTER PROCEDURE [dbo].[PageHeadingGetText]
@PageType nvarchar(100)
AS
BEGIN
SET NOCOUNT ON;
SELECT @PageType FROM [dbo].[PageHeadingText]
END
答案 0 :(得分:4)
您没有直接询问,但在标题中您说“设置SELECT的字段选择”。 您必须使用动态SQL动态构建语句:
ALTER PROCEDURE [dbo].[PageHeadingGetText]
@columns nvarchar(max)
AS
BEGIN
SET NOCOUNT ON;
DECLARE @sqlCommand NVARCHAR(MAX)
SET @sqlCommand = 'SELECT ' + @columns + ' FROM [dbo].[PageHeadingText]'
EXECUTE sp_executesql @sqlCommand
END