我有一個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_'並將其他內容用作前綴 - 或者根本沒有前綴! –