SQLSERVER ´æ´¢¹ý³Ì Óï·¨
SQLSERVER´æ儲過³ÌµÄ寫·¨¸ñʽ規¸ñ
*****************************************************
*** author£ºSusan
*** date:2005/08/05
*** expliation:ÈçºÎ寫´æ儲過³ÌµÄ¸ñʽ¼°Àý×Ó£¬ÓÐÓÎ標µÄÓ÷¨£¡
*** ±¾°æ:SQL SERVER °æ£¡
******************************************************/
ÔÚ´æ儲過³ÌÖеĸñʽ規¸ñ£º
CREATE PROCEDURE XXX
/*
ÁÐ舉傳Èë參數
1£ºÃû稱£¬2£º類ÐÍ£¬°üÀ¨長¶È
Eg:@strUNIT_CODE varCHAR(3)
*/
參數1£¬
參數2……………
As
/*
¶¨義內²¿參數
1£ºÃû稱£¬2£º類ÐÍ£¬°üÀ¨長¶È
Eg:@strUNIT_CODE varCHAR(3)
*/
Declare
參數1£¬
參數2……………
/*
³õʼ»¯內²¿參數
Eg:SET @strUNIT_CODE=’’
*/
Set參數1µÄ³õʼֵ
Set參數2µÄ³õʼֵ…………
/*
過³ÌµÄÖ÷內ÈÝ區
Trascation£º這裡Æðµ½µÄ×÷ÓÃÊÇ£¬Èç¹ûËûÖÐ間µÄÈκÎÒ»個執ÐÐ錯誤£¬¾ÍÈ«²¿執Ðж¼·µ»Ø£¬這裡sql sever 7.0ÒÔǰһ¶¨Òª寫È룬ÒÔááµÄ¾Í¿ÉÒÔÊ¡ÂÔ
Return£º結Êø這Ö§sp
*/
Begin trascation
/*
1:¿ÉÒÔÈ¡µÃÐèÒªµÄÖµÒÔ´æÔÚ內²¿參數ÖÐ
Eg:SELECT @strUNIT_CODE=UNIT_CODE from UNIT WHERE …….
2:¿ÉÒÔÓÃÈ¡µ½µÄ»ò傳ÈëµÄ參數進ÐÐÅÐ斷£¬來進ÐÐupdate,insert,delete µÈµÈ²Ù×÷
eg: IF @strUNIT_CODE=’’
BEGIN
//¾ß體µÄ²Ù×÷
End
Else
Begin
//¾ß體µÄ²Ù×÷
End
3£ºÓÐ關ÓÎ標µÄ問題
Eg:
declare db cursor for //聲Ã÷Ò»個ÓÎ標(d
Ïà¹ØÎĵµ£º
1.Ñ¡Ôñ×îÓÐЧÂʵıíÃû˳Ðò(Ö»ÔÚ»ùÓÚ¹æÔòµÄÓÅ»¯Æ÷ÖÐÓÐЧ)¡¡¡¡
¡¡¡¡ SQLSERVERµÄ½âÎöÆ÷°´ÕÕ´ÓÓÒµ½×óµÄ˳Ðò´¦Àífrom×Ó¾äÖеıíÃû£¬Òò´Ëfrom×Ó¾äÖÐдÔÚ×îºóµÄ±í£¨»ù´¡±ídriving table£©½«±»×îÏÈ´¦Àí£¬ÔÚfrom×Ó¾äÖаüº¬¶à¸ö±íµÄÇé¿öÏ£¬±ØÐëÑ¡Ôñ¼Ç¼ÌõÊý×îÉٵıí×÷Ϊ»ù´¡±í£¬µ±SQLSERVER´¦Àí¶à¸ö±íʱ£¬»áÔËÓÃÅÅÐò¼°ºÏ²¢µÄ·½Ê½Á ......
--TOP n ʵÏÖµÄͨÓ÷ÖÒ³´æ´¢¹ý³Ì(ת×Ô×Þ½¨)
CREATE PROC sp_PageView
@tbname sysname, --Òª·ÖÒ³ÏÔʾµÄ±íÃû
@FieldKey nvarchar(1000), --ÓÃÓÚ¶¨Î»¼Ç¼µÄÖ÷¼ü(Ωһ¼ü)×Ö¶Î,¿ÉÒÔÊǶººÅ·Ö¸ôµÄ¶à¸ö×Ö¶Î
@PageCurrent int=1, --ÒªÏÔʾµÄÒ³Âë
@PageSize int=10, - ......
SQLSERVER ´óÊý¾ÝÁ¿²åÈëÃüÁ
BULK INSERTÊÇSQLSERVERÖÐÌṩµÄÒ»Ìõ´óÊý¾ÝÁ¿µ¼ÈëµÄÃüÁËüÔËÓÃDTS(SSIS)µ¼ÈëÔÀí£¬¿ÉÒÔ´Ó±¾µØ»òÔ¶³Ì·þÎñÆ÷ÉÏÅúÁ¿µ¼ÈëÊý¾Ý¿â»òÎļþÊý¾Ý¡£ÅúÁ¿²åÈëÊÇÒ»¸ö¶ÀÁ¢µÄ²Ù×÷£¬ÓŵãÊÇЧÂʷdz£¸ß¡£È±µãÊdzöÏÖÎÊÌâºó²»¿ÉÒԻعö¡£
¡¡¡¡BULK INSERTÊÇÓÃÀ´½«ÍⲿÎļþÒÔÒ»ÖÖÌØ¶¨µÄ¸ñʽ¼ÓÔ ......
SQLServer2005ͨ¹ýintersect,union,exceptºÍÈý¸ö¹Ø¼ü×Ö¶ÔÓ¦½»¡¢²¢¡¢²îÈýÖÖ¼¯ºÏÔËËã¡£
ËûÃǵĶÔÓ¦¹ØÏµ¿ÉÒԲο¼ÏÂÃæÍ¼Ê¾
Ïà¹Ø²âÊÔʵÀýÈçÏ£º
use tempdb
go
if (object_id ('t1' ) is not null ) drop table t1
if (object_id ('t2' ) is not null ) drop table t2
go
cre ......
declare @areaid varchar(100)
declare @areaname varchar(100)
declare Cur cursor for
select code as areaID,[name] as areaName from dbo.province
open Cur
Fetch next from Cur Into @areaid,@areaname
While @@fetch_status=0
Begin
print('insert into ......