我有一个SQL查询是这样的:而SQL Server错误
ALTER PROCEDURE [dbo].[sp_dynamic_column_list](
@tahun varchar(4),
@bulan varchar(2),
@pks varchar(3))
AS
BEGIN
SET NOCOUNT ON;
DECLARE @totalrow int
DECLARE @inc int = 1
DECLARE @dynamictable NVARCHAR(MAX)
CREATE TABLE #temp
(
tanggal datetime,
)
-- query cari column dulu baru alter table temp diatas
SET @totalrow = dbo.fn_count_row_penerimaan(2014,11,40)
WHILE (@inc <= @totalrow)
BEGIN
ALTER TABLE #temp ADD @inc FLOAT
SET @inc = @inc + 1
END
INSERT INTO #temp
EXEC sp_get_list_penerimaan_pks2 @tahun, @bulan, @pks
SELECT * FROM #temp
DROP TABLE #temp
END
我有错误是这样的:
[错误] 42000 - [SQL服务器]附近有语法错误@inc“ 。
我新的SQL Server和想知道解决这个问题提前
注意:你不应该为存储过程使用'sp_'前缀。微软已经保留了这个前缀以供自己使用(参见*命名存储过程*)](http://msdn.microsoft.com/en-us/library/ms190669%28v=sql.105%29.aspx),以及你将来有可能冒着名字冲突的风险。 [这对你的存储过程性能也是不利的](http://www.sqlperformance.com/2012/10/t-sql-queries/sp_prefix)。最好只是简单地避免使用'sp_'并将其他内容用作前缀 - 或者根本没有前缀! –