mohsen_metn
دوشنبه 17 مهر 1396, 11:28 صبح
سلام
من دو تا جدول دارم به صورت زیر
/****** Object: Table [dbo].[tbl_Cartable] Script Date: 10/24/2017 11:14:25 AM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[tbl_Cartable](
[WorkID] [numeric](18, 0) IDENTITY(1,1) NOT NULL,
[UserId] [numeric](18, 0) NOT NULL,
[WorkTitle] [nvarchar](200) NOT NULL,
[WorkDescription] [nvarchar](max) NOT NULL,
[WorkDate] [datetime2](7) NOT NULL,
[WorkType] [numeric](18, 0) NOT NULL,
[PatientID] [numeric](18, 0) NOT NULL,
CONSTRAINT [PK_tbl_Cartable] PRIMARY KEY CLUSTERED
(
[WorkID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
و جدول دوم به صورت زیر
GO
/****** Object: Table [dbo].[tbl_CartableTran] Script Date: 10/24/2017 11:20:17 AM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[tbl_CartableTran](
[WorkID] [numeric](18, 0) IDENTITY(1,1) NOT NULL,
[UserId] [numeric](18, 0) NOT NULL,
[WorkTitle] [nvarchar](200) NOT NULL,
[WorkDescription] [nvarchar](max) NOT NULL,
[WorkDate] [datetime2](7) NOT NULL,
[WorkType] [numeric](18, 0) NOT NULL,
[PatientID] [numeric](18, 0) NOT NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
حالا میخوام یک تریگر بنویسم که وقتی جدول اول داره اپدیت میشه ، قبلش اون رکوردو تو جدول دومی ثبت کنم. در واقع یه سیستم لاگ هستش. فقط فیلد workdate به جای مقدار قبلی تاریخ حالو بگیره
لطفا کمک کنید
من دو تا جدول دارم به صورت زیر
/****** Object: Table [dbo].[tbl_Cartable] Script Date: 10/24/2017 11:14:25 AM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[tbl_Cartable](
[WorkID] [numeric](18, 0) IDENTITY(1,1) NOT NULL,
[UserId] [numeric](18, 0) NOT NULL,
[WorkTitle] [nvarchar](200) NOT NULL,
[WorkDescription] [nvarchar](max) NOT NULL,
[WorkDate] [datetime2](7) NOT NULL,
[WorkType] [numeric](18, 0) NOT NULL,
[PatientID] [numeric](18, 0) NOT NULL,
CONSTRAINT [PK_tbl_Cartable] PRIMARY KEY CLUSTERED
(
[WorkID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
و جدول دوم به صورت زیر
GO
/****** Object: Table [dbo].[tbl_CartableTran] Script Date: 10/24/2017 11:20:17 AM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[tbl_CartableTran](
[WorkID] [numeric](18, 0) IDENTITY(1,1) NOT NULL,
[UserId] [numeric](18, 0) NOT NULL,
[WorkTitle] [nvarchar](200) NOT NULL,
[WorkDescription] [nvarchar](max) NOT NULL,
[WorkDate] [datetime2](7) NOT NULL,
[WorkType] [numeric](18, 0) NOT NULL,
[PatientID] [numeric](18, 0) NOT NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
حالا میخوام یک تریگر بنویسم که وقتی جدول اول داره اپدیت میشه ، قبلش اون رکوردو تو جدول دومی ثبت کنم. در واقع یه سیستم لاگ هستش. فقط فیلد workdate به جای مقدار قبلی تاریخ حالو بگیره
لطفا کمک کنید