1
我可以使用下面的語法在存儲過程中的SQL Server 2008,動態列名在存儲過程
set @count = (select count(*) from [dbo].[employee] where @column_name ='T')
我可以使用下面的語法在存儲過程中的SQL Server 2008,動態列名在存儲過程
set @count = (select count(*) from [dbo].[employee] where @column_name ='T')
CREATE PROCEDURE Proc_Name
@Column_Name NVARCHAR(128),
@COUNT INT OUTPUT
AS
BEGIN
SET NOCOUNT ON;
DECLARE @Sql NVARCHAR(MAX);
SET @Sql = N'SELECT @count = count(*) from [dbo].[employee] where ' + QUOTENAME(@Column_Name)
+ N' =''T'''
EXECUTE sp_executesql @Sql
,N'@COUNT INT OUTPUT'
,@COUNT OUTPUT
END
不,你不能,你需要使用動態SQL。一個例子:http://stackoverflow.com/questions/16185425/change-columns-name-dynamically-in-sql –