我有问题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