سلام دو ستان
من دو تا جدول توی sql دارم
اگر در جدول اول یک فیلد flag ست (1) باشد باید یک رکورد مرتبط با رکورد موجود در جدول اول در جدول دوم درج بشه
ایا راهی وجود داره که بشه اطلاعات دو تا جدول رو به صورت همزمان وارد کرد ؟؟؟!!!
Printable View
سلام دو ستان
من دو تا جدول توی sql دارم
اگر در جدول اول یک فیلد flag ست (1) باشد باید یک رکورد مرتبط با رکورد موجود در جدول اول در جدول دوم درج بشه
ایا راهی وجود داره که بشه اطلاعات دو تا جدول رو به صورت همزمان وارد کرد ؟؟؟!!!
یک transaction بنویس. البته بهتر store procedure هست.
شما 2 راه حل دارید:
1- یک STored procedure بنویسید که دستورات Insert در هر 2 جدول در یک transaction داحل آن باشد.
2- در trigger مربوط به After Insert جدول اوا دستور Insert جدول دوم را قرار دهید.
سلام
منم با Trigger موافقم
این بهتره
یه تریگر برای INSERT, UPDATE کاملا مناسبه !!!
و حتی Delete :چشمک:
تریگرها برای انجام سه عمل اصلی Insert , Update , Delete بکار می رن
قابل توجه دوستان گرامی
در SQL2005 تعدادی دیگر تریگر اضافه شده است بنام DDL Triggers
من یک تایپیک برای آموزش SQL2005 گذاشتم ولی انگار کسی دوست نداره که اونو جلو ببریم و آموزش رو شروع کنیم
اینم Temp دستوراتش
USE <database_name, sysname, AdventureWorks>
GO
ALTER TRIGGER <schema_name, sysname, Sales>.<trigger_name, sysname, uStore>
ON <schema_name, sysname, Sales>.<table_name, sysname, Store>
AFTER <data_modification_statements, , UPDATE>
AS <T-SQL_statement, , UPDATE Sales.Store SET ModifiedDate = GETDATE() FROM inserted WHERE inserted.CustomerID = Sales.Store.CustomerID>
GO
و
-- ================================================
-- Template generated from Template Explorer using:
-- Create Trigger (New Menu).SQL
--
-- Use the Specify Values for Template Parameters
-- command (Ctrl-Shift-M) to fill in the parameter
-- values below.
--
-- See additional Create Trigger templates for more
-- examples of different Trigger statements.
--
-- This block of comments will not be included in
-- the definition of the function.
-- ================================================
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
CREATE TRIGGER <Schema_Name, sysname, Schema_Name>.<Trigger_Name, sysname, Trigger_Name>
ON <Schema_Name, sysname, Schema_Name>.<Table_Name, sysname, Table_Name>
AFTER <Data_Modification_Statements, , INSERT,DELETE,UPDATE>
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for trigger here
END
GO
منظورتون چیه؟؟؟؟ !!!!!نقل قول:
MMAASS
و حتی Delete
تریگرها برای انجام سه عمل اصلی Insert , Update , Delete بکار می رن
__________________
(یکبار اسم سایت و تاپیک رو ببینین! )
آقای سید مسعود موحد ممنون.
شما تو کدوم تاپیک آموزش رو شروع کردین؟
مسعود جان،نقل قول:
نوشته شده توسط سید مسعود موحد
DDL Triggerها ابزار بسیار مفیدی هستند و مطمئنم وقتی برنامه نویسها با امکانات جدید SQL Server 2005 به مرور آشنا بشن، ارزش مطالب شما بیشتر آشکار بشه. ضمنا تاپیکی که گفتین کجاست؟ من ندیده بودم
سلامنقل قول:
نوشته شده توسط Elham_gh
منظورم این بود که تریگرها این سه کارو خوب می تونن انجام بدن و فقط برای Insert , Update بکار نمی رن:چشمک:
آخه mehranFX گفته بود که : "یه تریگر برای Insert , Update کاملا مناسبه" .:بامزه:
دوستان اینجا
http://www.barnamenevis.org/sh...ad.php?t=37186