Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

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Ñ­»·ÓαêµÄʹÓÃ

½ñÌì¸ãµÄ£¬°ïͬʲéѯÊý¾Ý£¬ÏÈд¸ö´¥·¢Æ÷£¬½ØÈ¡http://www.chinaroyalgroup.cn/aspnet_client/system_web/2_0_50727/dispbbs.asp?boardid=1&id=836ÀïµÄÓòÃû
IF EXISTS (SELECT name from sysobjects
      WHERE name = 'gs_MySub' AND type = 'P')
   DROP PROCEDURE gs_MySub ......

SQLº¯ÊýÖ®×Ö·û´®º¯Êý


Èç¹û½á¹ûµÄ³¤¶È´óÓÚ·þÎñÆ÷²ÎÊýmax_allowed_packet£¬×Ö·û´®Öµº¯Êý·µ»ØNULL¡£¼û10.2.3 µ÷½Ú·þÎñÆ÷²ÎÊý¡£
¶ÔÓÚÕë¶Ô×Ö·û´®Î»ÖõIJÙ×÷£¬µÚÒ»¸öλÖñ»±ê¼ÇΪ1¡£
ASCII(str)
·µ»Ø×Ö·û´®strµÄ×î×óÃæ×Ö·ûµÄASCII´úÂëÖµ¡£Èç¹ûstrÊÇ¿Õ×Ö·û´®£¬·µ»Ø0¡£Èç¹ûstrÊÇNULL£¬·µ»ØNULL¡£
mysql> select ASCII('2');
-> ......

ÊÖ¹¤ÍêÈ«Ð¶ÔØSQL SERVER2000Êý¾Ý¿â

ÔÚ½øÐвÙ×÷֮ǰ£¬½¨Ò鱸·ÝºÃ×¢²á±íÒÔ¼°ÖØÒªµÄÊý¾Ý¿âÎļþ¡£
£¨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 ......

¹ØÓÚSQL SERVER Êý¾Ý²ð·Ö

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& ......

SQL exists ºÍin

in ºÍ existsÆäʵͦºÃÇø±ðµÄ.ÇÒ¿´Ï±߻ù±¾¸ÅÄî¡£
in ÊÇÒ»¸ö¼¯ºÏÔËËã·û.
a in {a,c,d,s,d....}
Õâ¸öÔËËãÖÐ,Ç°ÃæÊÇÒ»¸öÔªËØ,ºóÃæÊÇÒ»¸ö¼¯ºÏ,¼¯ºÏÖеÄÔªËØÀàÐÍÊǺÍÇ°ÃæµÄÔªËØÒ»ÑùµÄ¡£ÊµÏֵĶԼ¯ºÏÖеÄÔªËØ½øÐбéÀú£¬ÒÔÈ·¶¨¸ø¶¨µÄÔªËØaÊÇ·ñÓë×Ó²éѯ»òÁбíÖеÄÖµÏàÆ¥Åä¡£
in ÔËËãÓÃÔÚsqlÓï¾äÖÐ,ËüºóÃæ´øµÄselect Ò»¶¨ÊÇѡһ¸ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ