1. Trang chủ
  2. » Công Nghệ Thông Tin

Code SQL Procedure Trigger

3 495 2

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 3
Dung lượng 12,75 KB

Nội dung

CREATE PROC updatemodelid_se ProductonID INT, ProductModelID INTASBEGINDECLARE KT INTSELECT KT=ProductID FROM Production.ProductIF(KT IS NOT NULL)BEGINUPDATE Production.Product SET ProductModelID=ProductModelID WHERE ProductID=ProductonIDENDELSEBEGINPRINT LOI, KHONG THUC HIEN DUOCENDENDTHUC THIEXEC dbo.updatemodelid_se 1,3KIEM TRASELECT ProductID, ProductModelID FROM Production.ProductWHERE ProductID=1

Trang 1

CAU 2a

/*Viết trigger kiểm tra việc cập nhật ProductModelID cho bảng

Production.Product

nếu ProductModelID không tồn tại trong bảng Production.ProductModelID thì thông báo “mã không tồn tại” và thực hiện rollback Trường hợp mã tồn tại thì đếm

có bao nhiêu ProductModelID cùng loại trên bảng Production.Product rồi cập nhật

vào cột total_moid vừa mới thêm.*/

CREATE TRIGGER LOG_FILE

ON Production.Culture

FOR UPDATE, INSERT, DELETE

AS

BEGIN

DECLARE @ID1 VARCHAR(6), @ID2 VARCHAR(6)

SELECT @ID1=CultureID FROM inserted

SELECT @ID2=CultureID FROM deleted

IF(@ID1 IS NOT NULL AND @ID2 IS NOT NULL)

BEGIN

INSERT INTO dbo.TRIG_LOG VALUES(@ID2,'UPDATE',GETDATE()) END

ELSE IF(@ID1 IS NOT NULL)

BEGIN

INSERT INTO dbo.TRIG_LOG VALUES(@ID1,'INSERT',GETDATE()) END

ELSE IF(@ID2 IS NOT NULL)

BEGIN

INSERT INTO dbo.TRIG_LOG VALUES(@ID2,'DELETE',GETDATE()) END

END

KIEM TRA

SELECT * FROM dbo.TRIG_LOG

*********************************************************

Viết thủ tục thực hiện cập nhật ProductModelID cho bảng

Production.Product đặt

tên updatemodelid_se Thông số đầu vào là ProductonID và ProductModelID CREATE PROC updatemodelid_se @ProductonID INT, @ProductModelID INT

AS

BEGIN

DECLARE @KT INT

SELECT @KT=ProductID FROM Production.Product

IF(@KT IS NOT NULL)

BEGIN

UPDATE Production.Product SET ProductModelID=@ProductModelID WHERE ProductID=@ProductonID

END

ELSE

BEGIN

PRINT 'LOI, KHONG THUC HIEN DUOC' END

END

THUC THI

Trang 2

EXEC dbo.updatemodelid_se 1,3

KIEM TRA

SELECT ProductID, ProductModelID

FROM Production.Product

WHERE ProductID='1'

************************************************************* CAU 3

CREATE PROC CAP_NHAT @CultureID NCHAR(6), @NAME NVARCHAR(50) AS

BEGIN

DECLARE @KT INT

SELECT @KT=COUNT(*) FROM Production.Culture

WHERE @CultureID=CultureID

IF(@KT > 0)

BEGIN

UPDATE Production.Culture SET Name=@NAME WHERE CultureID=@CultureID

END

ELSE

BEGIN

INSERT INTO Production.Culture(CultureID,Name) VALUES(@CultureID,@NAME)

END

END

THUC THI

EXEC dbo.CAP_NHAT ABC, XKJABSD

KIEM TRA

SELECT * FROM Production.Culture

XOA

CREATE PROC XOA @CultureID NCHAR(6)

AS

BEGIN

DECLARE @KT INT

SELECT @KT=COUNT(*) FROM Production.Culture

WHERE @CultureID=CultureID

IF(@KT > 0)

BEGIN

DELETE Production.Culture WHERE CultureID=@CultureID END

ELSE

BEGIN

PRINT 'KHONG TON TAI CAI NAY' END

END

THUC THI

EXEC dbo.XOA ABC

KIEM TRA

Trang 3

SELECT * FROM Production.Culture

Ngày đăng: 06/12/2016, 11:50

TỪ KHÓA LIÊN QUAN

w