Sql Server ´¥·¢Æ÷(¶þ)
½Ó(Ò»)
--´¥·¢Æ÷ʾÀý2
/*
´´½¨´¥·¢Æ÷[T_INSERT_¾íÑÌÏúÊÛ±í]£¬¸Ã´¥·¢Æ÷½Ï¸´ÔÓ¡£
˵Ã÷: ÿµ±[¾íÑÌ¿â´æ±í]·¢Éú INSERT ¶¯×÷£¬ÔòÒý·¢¸Ã´¥·¢Æ÷¡£
´¥·¢Æ÷¹¦ÄÜ£º ʵÏÖÒµÎñ¹æÔò¡£
ÒµÎñ¹æÔò: Èç¹ûÏúÊ۵ľíÑÌÆ·ÅƲ»´æÔÚ¿â´æ»òÕß¿â´æÎªÁ㣬Ôò·µ»Ø´íÎó¡£
·ñÔòÔò×Ô¶¯¼õÉÙ[¾íÑÌ¿â´æ±í]ÖжÔÓ¦Æ·ÅÆ¾íÑÌµÄ¿â´æÊýÁ¿ºÍ¿â´æ½ð¶î¡£
*/
IF EXISTS (SELECT NAME from SYSOBJECTS WHERE XTYPE = ’TR’ AND NAME = ’T_INSERT_¾íÑÌÏúÊÛ±í’)
DROP TRIGGER T_INSERT_¾íÑÌÏúÊÛ±í
GO
CREATE TRIGGER T_INSERT_¾íÑÌÏúÊÛ±í
ON ¾íÑÌÏúÊÛ±í
FOR INSERT
AS
BEGIN TRANSACTION
--¼ì²éÊý¾ÝµÄºÏ·¨ÐÔ£ºÏúÊ۵ľíÑÌÊÇ·ñÓÐ¿â´æ£¬»òÕß¿â´æÊÇ·ñ´óÓÚÁã
IF NOT EXISTS (
SELECT ¿â´æÊýÁ¿
from ¾íÑÌ¿â´æ±í
WHERE ¾íÑÌÆ·ÅÆ IN (SELECT ¾íÑÌÆ·ÅÆ from INSERTED)
)
BEGIN
--·µ»Ø´íÎóÌáʾ
RAISERROR(’´íÎ󣡸þíÑ̲»´æÔÚ¿â´æ£¬²»ÄÜÏúÊÛ¡£’,16,1)
--»Ø¹öÊÂÎñ
ROLLBACK
RETURN
END
IF EXISTS (
SELECT ¿â´æÊýÁ¿
from ¾íÑÌ¿â´æ±í
WHERE ¾íÑÌÆ·ÅÆ IN (SELECT ¾íÑÌÆ·ÅÆ from INSERTED) AND
¿â´æÊýÁ¿ <= 0
)
BEGIN
--·µ»Ø´íÎóÌáʾ
RAISERROR(’´íÎ󣡸þíÑÌ¿â´æÐ¡ÓÚµÈÓÚ0£¬²»ÄÜÏúÊÛ¡£’,16,1)
--»Ø¹öÊÂÎñ
ROLLBACK
RETURN
END
--¶ÔºÏ·¨µÄÊý¾Ý½øÐд¦Àí
--Ç¿ÖÆÖ´ÐÐÏÂÁÐÓï¾ä£¬±£Ö¤ÒµÎñ¹æÔò
UPDATE ¾íÑÌÏúÊÛ±í
SET ÏúÊÛ½ð¶î = ÏúÊÛÊýÁ¿ * ÏúÊÛµ¥¼Û
WHERE ¾íÑÌÆ·ÅÆ IN (SELECT ¾íÑÌÆ·ÅÆ from INSERTED)
DECLARE @¾íÑÌÆ·ÅÆ VARCHAR(40)
SET @¾íÑÌÆ·ÅÆ = (SELECT ¾íÑÌÆ·ÅÆ from INSERTED)
DECLARE @ÏúÊÛÊýÁ¿ MONEY
SET @ÏúÊÛÊýÁ¿ = (SELECT ÏúÊÛÊýÁ¿ from INSERTED)
UPDATE ¾íÑÌ¿â´æ±í
SET ¿â´æÊýÁ¿ = ¿â´æÊýÁ¿ - @ÏúÊÛÊýÁ¿,
¿â´æ½ð¶î = (¿â´æÊýÁ¿ - @ÏúÊÛÊýÁ¿)*¿â´æµ¥¼Û
WHERE ¾íÑÌÆ·ÅÆ = @¾íÑÌÆ·ÅÆ
COMMIT TRANSACTION
GO
--Çë´ó¼Ò×ÔÐиú×Ù[¾íÑÌ¿â´æ±í]ºÍ[¾íÑÌÏúÊÛ±í]µÄÊý¾Ý±ä»¯¡£
--Õë¶Ô[¾íÑÌÏúÊÛ±í]£¬²åÈëµÚÒ»Ìõ²âÊÔÊý¾Ý£¬¸ÃÊý¾ÝÊÇÕý³£µÄ¡£
INSERT INTO ¾íÑÌÏúÊÛ±í(¾íÑÌÆ·ÅÆ,¹º»õÉÌ,ÏúÊÛÊýÁ¿,ÏúÊÛµ¥¼Û,ÏúÊÛ½ð¶î)
SELECT ’ºìËþɽÐÂÊÆÁ¦’,’ij¹º»õÉÌ’,10,12,1200
GO
--Õë¶Ô[¾íÑÌÏúÊÛ±í]£¬²åÈëµÚ¶þÌõ²âÊÔÊý¾Ý£¬¸ÃÊý¾Ý ÏúÊÛ½ð¶î ²»µÈÓÚ ÏúÊÛµ¥¼Û * ÏúÊÛÊýÁ¿¡£
--´¥·¢Æ÷½«×Ô¶¯¸üÕýÊý¾Ý£¬Ê¹ ÏúÊÛ½ð¶î µÈÓÚ ÏúÊÛµ¥¼Û * ÏúÊÛÊýÁ¿¡£
INSERT INTO ¾íÑÌÏúÊÛ±í(¾íÑÌÆ·ÅÆ,¹
Ïà¹ØÎĵµ£º
SQL SERVER 2005 ¼ò½é
Ò»Ö±ÒÔÀ´£¬T-SQL¶¼ÊÇÈÝÒ×ÉÏÊֵĽṹ»¯²éѯÓïÑÔ£¬Ëæ×ÅSQL ServerµÄ°æ±¾Ñݽø£¬³ýÁËÄÚ²¿¹¦ÄÜÔö¼Ó£¬
T-SQLÒ²´ó·ùÀ©ÔöÁËеIJéѯָÁî¡£ÀýÈ磺XQuery¡¢È¡µÃÅÅÃû˳ÐòµÄº¯Êý¡¢¼¯ºÏÔËËã´îÅäOVERÔËËã·û¡¢TOPÔËËã·û¿ÉÒÔ´îÅä±äÁ¿»ò×Ó²éѯ£¬ÒÔ¼°Í ......
create PROCEDURE sp_decrypt(@objectname varchar(50))
AS
begin
set nocount on
--CSDN£ºj9988 copyright:2004.07.15
--V3.2
--ÆÆ½â×Ö½Ú²»ÊÜÏÞÖÆ£¬ÊÊÓÃÓÚSQLSERVER2000´æ´¢¹ý³Ì£¬º¯Êý£¬ÊÓͼ£¬´¥·¢Æ÷
--ÐÞÕýÉÏÒ»°æ"ÊÓͼ´¥·¢Æ÷"²»ÄÜÕýÈ·½âÃÜ´íÎó
--·¢ÏÖÓÐ´í£¬ÇëE_MAIL£ºCSDNj9988@tom.com
begin tran
......
DATEDIFF(²ÎÊýÒ»,²ÎÊý¶þ,²ÎÊýÈý) ---²ÎÊýÒ»£ºyear month day; ²ÎÊý¶þ£º±È½ÏµÄÆðʼÈÕÆÚ,ĬÈÏ1900-1-1£»²ÎÊýÈý£º±È½ÏµÄÈÕÆÚ¡£
eg:DATEDIFF(year,0,getdate())±íʾ±È½Ï0£¨Ä¬ÈÏ1900-1-1£©µ½µ±Ç°µÄÈÕÆÚÏë²î¼¸Äê
SELECT DATEADD(mm, DATEDIFF(mm,0,getdate()), 0) -- È¡µÃ±¾ÔµĵÚÒ»Ìì
SELECT DATEADD(wk, D ......