1
我有需要的ID扰频器,所以很多表:如何将现有的表格传递给过程?我如何使用这个...表值参数thingys?看看下面请我的代码
CREATE PROCEDURE SP_generateUniqueID (-- pass table here somehow --)
AS
BEGIN
DECLARE @ID varchar(100) -- NEW ID.
DECLARE @isIDInUse tinyint -- BOOLEAN YES/NO.
SET @isIDInUse=1
WHILE(@isIDInUse=1) -- KEEP GENERATING TILL YOU FIND ONE:
BEGIN
SET @ID= dbo.generateID('aA1a1') -- GENERATES ID. doesn't matter how.
IF (@ID NOT IN (@passedTable)) -- DOES @ID EXIST ALREADY?
/*(SEARCHES THE PASSED TABLE! Which its size will be 1XN)*/
SET @isIDInUse=0 -- NO, YOU CAN USE.
END
RETURN @ID
END
我不能让现有的表的传递顺利...... 我希望能够插入任何使用ID的表。 有什么建议吗?
有几个选项(CLR ,动态SQL)。但如果你解释目的,这可能会有所帮助。在附加的背景下,您更有可能获得正确的解决方案。 –
你检查过表值参数吗? –
表值参数是一个死胡同 - 你不能只传递一个表,你只能传递一个表变量。 – Luaan