ورود

View Full Version : در نظر گرفتن یک کلید برای چند جدول



ozzy_mra
شنبه 30 مهر 1390, 14:08 عصر
سلام
من چند تا تیبل دارم که باید مقدار کلید اصلی در این چند تا بین همدیگه منحصر بفرد باشه مثلاً اگر در تیبل اول آخرین مقدار کلید 1 هست و در تیبل دوم آخرین مقدار 5 و در تیبل سوم آخرین مقدار 2 باید برای درج جدید بزرگترین مقدار کلید رو تو این سه جدول پیدا کنه و با اضافه کردن یه واحد عمل درج رو انجام بده من خودم یه فانکشن به شکل زیر نوشتم که مقدا ماکزیموم رو استخراج کنه و بعد یکی بهش اضافه می کنم

ALTER FUNCTION [dbo].[selectMax]
(
-- Add the parameters for the function here

)
RETURNS int
AS
BEGIN
declare @max1 int , @max2 int ,@max3 int,@max4 int

select @max1= max(frdsn) from fard
select @max2=max (frdsn) from test1
select @max3=max (frdsn) from test2
select @max4=max (frdsn) from test3
declare @MAX int
set @MAX=@max1
if @max2>@MAX
set @MAX=@max2
ELSE IF @max3>@MAX
set @MAX=@max3
ELSE IF @max4>@MAX
set @MAX=@max4

return @MAX

END
اما با توجه داینامیک بودن تعداد تیبل ها نمی خوام از این پروسه استفاده کنم
شنیدم تو اوراکل دستوری با نام sequence وجود داره که با هربا درخواست برای اینزرت به آخرین مقدارش یکی اضافه میکنه و اونو بر می گردونه که این مشکل منو حل میکنه
می خواستم بدونم این مکانیزم در T-SQL هم هست ؟
ممنون