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ÔËËã·û¿ÉÒÔ´îÅä±äÁ¿»ò×Ó²éѯ£¬ÒÔ¼°Í ......
MySQL
ÊÇÒ»¸öÕæÕýµÄ¶àÓû§¡¢¶àÏß³ÌSQLÊý¾Ý¿â·þÎñÆ÷¡£SQL£¨½á¹¹»¯²éѯÓïÑÔ£©ÊÇÊÀ½çÉÏ×îÁ÷Ðеĺͱê×¼»¯µÄÊý¾Ý¿âÓïÑÔ¡£MySQL
ÊÇÒÔÒ»¸ö¿Í»§»ú/·þÎñÆ÷½á¹¹µÄʵÏÖ£¬ËüÓÉÒ»¸ö·þÎñÆ÷ÊØ»¤³ÌÐòmysqld
ºÍºÜ¶à²»Í¬µÄ¿Í»§³ÌÐòºÍ¿â×é³É¡£
SQLÊÇÒ»ÖÖ±ê×¼»¯µÄÓïÑÔ£¬ËüʹµÃ´æ´¢¡¢¸üкʹæÈ¡ÐÅÏ¢¸üÈÝÒס£ÀýÈ磬ÄãÄÜÓÃSQLÓïÑÔΪһ¸öÍøÕ¾¼ìË ......
Èç¹û½á¹ûµÄ³¤¶È´óÓÚ·þÎñÆ÷²ÎÊýmax_allowed_packet£¬×Ö·û´®Öµº¯Êý·µ»ØNULL¡£¼û10.2.3 µ÷½Ú·þÎñÆ÷²ÎÊý¡£
¶ÔÓÚÕë¶Ô×Ö·û´®Î»ÖõIJÙ×÷£¬µÚÒ»¸öλÖñ»±ê¼ÇΪ1¡£
ASCII(str)
·µ»Ø×Ö·û´®strµÄ×î×óÃæ×Ö·ûµÄASCII´úÂëÖµ¡£Èç¹ûstrÊÇ¿Õ×Ö·û´®£¬·µ»Ø0¡£Èç¹ûstrÊÇNULL£¬·µ»ØNULL¡£
mysql> select ASCII('2');
-> ......
ÔÚ½øÐвÙ×÷֮ǰ£¬½¨Ò鱸·ÝºÃ×¢²á±íÒÔ¼°ÖØÒªµÄÊý¾Ý¿âÎļþ¡£
£¨1£© ɾ³ýÒÔÏÂ×¢²á±í×ÓÏ
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ Microsoft SQL Server
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSSQLServer
HKEY_LOCAL_MACHINE\SYSTEM\CurrentC ......
if object_id('tb') is not null drop table tb
go
create table tb([A] varchar(10),[B] int)
insert tb
select 'bcd',1 union all
select 'bcde',2 union all
select 'cd',3
go
¸öÈË·ÖÎöÕâµÀÌâµÄ˼·ÊÇ£º
ͨ¹ýSubstring() À´Ñ»··Ö¸î B ÁÐϵÄ×Ö·û´®¡£¡£
--ÏëµÃµ½µÄ½á¹û£º
/**
a b& ......