# پایگاه‌های داده > SQL Server > مدیریت دیتابیس (Database Administration) > Maintenance Plan >  تريگر در sql server 2008

## narmafzar

يه سئوال
شيوه دسترسي به تعريف تريگر در sql server 2008 بصورت محاوره اي با sql server 2000 تغيير كرده (بغيير از روش دستوري create trigger ) .
در sql server 2000 زمان تعريف ساختار جدول از منوي بالاي امكان تعريف و تغيير يك تريگر وجود داشت.
دوستان ميتونند كمك كنند ؟
ممنون

----------


## حمیدرضاصادقیان

سلام.
اگر خود جدول رو در management Studio باز کنید زیر مجموعه اون گزینه ای به نام Trigger داره که میتوانید با راست کلیک رو اون ،تریگر مورد نظر رو ایجاد کنید.

----------


## uthman

سلام خدمت همه استادان.
یه سوالی داشتم اگه دوستان لطف کنند کمکم کنند ممنون میشم.
سوال:فرض کنید دیتا بیس من دوتا جدول داره یکی USER و دیگری TEL
جدول USER  شامل:
ID:که IDENTITY می باشد
NAME: نام یوزر
FAMILY
جدول TEL  شامل :
1:ID
2:PHONE NUMBER
 در ورودی 3 تکست داریم که نام و نام خانوادگی و شماره تلفن رو میگیره.
الان سوالم اینجاست که می خواهم هر وقت کاربر دکمه INSERT  رو زد اول نام و نام خانوادگی در جدول USER  درج بشه و بعد با استفاده از تریگر تلفن رو با ID  درج شده در جدول USER در جدول TTEL  درج کنم .ممنون میشم دوستان بهم کمک کنند.

----------


## hramezani

سلام
توی تریگر insert جدول user یه دستور insert بنویس
id رو هم میتونی هم تز "inserted" بخونی هم از scope_identity() استفاده کنی
این مقاله هم میتونه کمکت کنه
http://www.codeproject.com/Articles/...ENTITY-IDENT_C

----------


## uthman

بد نیست به این وبلاگ هم مراجعه کنید مطالبی در مورد تریگر ا هست که بیشتر برای افراد مبتدی به کار می آد.
www.rayanravesh.blogfa.com

----------


## uthman

ممنون آقای هرامزانی.
مشکل من اینه که مقدار تلفن رو چه جوری به دست بیارم.تو جدول userکه فیلدی به نام تلفن ندارم.مقدار تکس باکس تلفن رو چه جوری پاس کنم به تریگر؟

----------


## hramezani

حالا حتما میخواین از تریگر استفاده کنین؟
با یه sp و استفاده از دو تا دستور insert پشت سر هم توی sp مشکل حل میشه که

----------


## uthman

فقط می خوام این کار انجام بشه اگه بتونین راهنماییم کنید ممنون می شم

----------


## uthman

این کد رو نوشتم ولی خطا داره:
ALTER PROCEDURE INSER
@NAME NVARCHAR(50),@FAMILY NVARCHAR(50),@tel numeric(18,0)
AS
BEGIN
INSERT INTO [user](name,lastname)VALUES(@NAME,@FAMILY)
insert into tel(id,tel)values((select id from inserted),@tel)
END

----------


## hramezani

> این کد رو نوشتم ولی خطا داره:
> ALTER PROCEDURE INSER
> @NAME NVARCHAR(50),@FAMILY NVARCHAR(50),@tel numeric(18,0)
> AS
> BEGIN
> INSERT INTO [user](name,lastname)VALUES(@NAME,@FAMILY)
> insert into tel(id,tel)values((select id from inserted),@tel)
> END


 باید اینطور بنویسی
ALTER PROCEDURE INSER
@NAME NVARCHAR(50),@FAMILY NVARCHAR(50),@tel numeric(18,0)
AS
BEGIN
INSERT INTO [user](name,lastname)
VALUES(@NAME,@FAMILY)

insert into tel(id,tel)
values ((select scope_identity() ),@tel)
END

----------

