我有問題compilin這code..can誰能告訴什麼是錯的語法語法錯誤:存儲過程一般插入
CREATE PROCEDURE spGenericInsert
(
@insValueStr nvarchar(200)
@tblName nvarchar(10)
)
AS
BEGIN
DECLARE @insQueryStr nvarchar(400)
DECLARE @insPrimaryKey nvarchar(10)
DECLARE @rowCountVal integer
DECLARE @prefix nvarchar(5)
IF @tblName='HW_Master_DB'
SET @rowCountVal=(SELECT COUNT(*) FROM HW_Master_DB)
ELSE IF @TableName='SW_Master_DB'
SET @rowCountVal=(SELECT COUNT(*) FROM SW_Master_DB)
ELSE IF @TableName='INV_Allocation_DB'
SET @rowCountVal=(SELECT COUNT(*) FROM INV_Allocation_DB)
ELSE IF @TableName='REQ_Master_DB'
SET @rowCountVal=(SELECT COUNT(*) FROM REQ_Master_DB)
IF @tblName = 'DEFECT_LOG'
SET @prefix='DEF_'
ELSE IF @tblName='INV_Allocation_DB'
SET @prefix='INV_'
ELSE IF @tblName='REQ_Master_DB'
SET @prefix='REQ_'
ELSE IF @tblName='SW_Master_DB'
SET @prefix='SWI_'
ELSE IF @tblName='HW_Master_DB'
SET @prefix='HWI_'
SET @insPrimaryKey= @prefix + RIGHT(replicate('0',5)+ convert(varchar(5),@rowCountVal),5) -- returns somethin like 'DEF_00005'
SET @insQueryStr= 'INSERT INTO ' + @tblName + ' VALUES (' + @insPrimaryKey + ',' + @insValueStr + ')'
EXEC(@insQueryStr)
END
我知道整數標識列..但我必須使用在高度多用戶的Intranet系統中插入新值的表中的AlphaNumeric ID。
記錄不會從表格中刪除。所以問題在於保持同步插入帶ID字段的記錄自動生成。
任何建議如何做到這一點。
什麼問題?你遇到了什麼錯誤?哪裏? – 2009-01-19 10:35:01
您是否真的*讀過*您嘗試運行時收到的錯誤消息?對我來說,似乎是將兩個程序複製粘貼在一起,而無需任何有關SQL的線索。需要少量自己的努力,否則人們會因爲你的問題而感到不高興。 – Tomalak 2009-01-19 10:40:23