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