گروه مهندسی
مکان سیستم

استفاده از Trigger روی دو database مختلف

Trigger یک نوع store procedure که بعد از صورت گرفتن عملیاتی از جمله Inser , update و یا Delete روی یک جدول اجرا میشود.

در واقع Trigger یا رهانا به هر یک از اعمال ذکر شده قبلی میتواند پاسخ بدهد.

فرض کنیم که ما دو دیتا بیس داریم به نام های chp1 با جدولی به نام table 1 و دیتابیس chp2 با جدولی به نام table1

قرار است وقتی رکوردی روی table 1 درج شود روی جدول table 2 هم درج گردد.

نکته مهم که در این مقاله بر روی آن تمرکز داریم آن است که جداول ما روی دو database مختلف قرار گرفته اند.

chp1 با جدولی به نام table 1

CREATE DATABASE [chp1]
CREATE TABLE [dbo].[Table1](
    [id] [int] IDENTITY(1,1) NOT NULL,
    [name_Table1] [nvarchar](50) NULL,
 CONSTRAINT [PK_Table1] PRIMARY KEY CLUSTERED 
(
    [id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]


chp2 با جدولی به نام table2

CREATE DATABASE [chp2]
CREATE TABLE [dbo].[Table2](
    [id] [int] IDENTITY(1,1) NOT NULL,
    [name_Table2] [nvarchar](50) NULL,
 CONSTRAINT [PK_Table2] PRIMARY KEY CLUSTERED 
(
    [id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

و خود Trigger

USE [chp1]


GO
/****** Object:  Trigger [dbo].[TestTriggers]    Script Date: 4/7/2015 12:07:29 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

create TRIGGER [dbo].[TestTriggers] 
   ON [dbo].[Table1]
   AFTER  INSERT
AS 

--return
DECLARE @Name nvarchar(50)
BEGIN

select @Name=name_Table1 from inserted



insert into chp2.dbo.Table2 (name_Table2) values (@Name)
    -- Insert statements for trigger here

END


حالا اگر دستور زیر را اجرا کنیم میبینیم که در هر دو dataBse ثبت خواهد شد.

INSERT INTO Table1
                         (name_Table1)
VALUES        (N'www.3dwebgis.com')

وقتی روی دو دیتابیس ما trigger قرار میدهیم باید  دستور ثبت آدرس محل درج مجدد داده ها را به طور صحیح وارد کنیم.


insert into chp2.dbo.Table2 (name_Table2) values (@Name)


امیدوارم استفاده کرده باشید.

آموزش webgis
آموزش webgis

نظرات شما

آیا پرسشی دارید؟

فرستادن دیدگاه

  Sharepoint آموزش خصوصی

نمونه کارها


Project

استفاده از تكنیكهای روز در طراحی سیستم های اطلاعاتی
آموزش خصوصی

آموزش و مشاوره


Consulting

مشاوره در طراحی ،پیاده سازی و خرید نرم افزار های نخصصی .آموزش کارکنان سازمان ها
آموزش خصوصی

سیستم اطلاعات مکانی


Web GIS

طراحی و پیاده سازی سامانه های اطلاعاتی بر مبنای داده های مکانی



© 1392 شرکت مکان سیستم 3dWebGIS

web gis دوره آموزش asp.net mvc 5.2آموزش خصوصی web gis آموزش خصوصی