SQL´æ´¢¹ý³Ì»ù´¡Óï·¨Ö®Ò»
CREATE PROCEDURE
´´½¨´æ´¢¹ý³Ì£¬´æ´¢¹ý³ÌÊDZ£´æÆðÀ´µÄ¿ÉÒÔ½ÓÊܺͷµ»ØÓû§ÌṩµÄ²ÎÊýµÄ Transact-SQL Óï¾äµÄ¼¯ºÏ¡£
¿ÉÒÔ´´½¨Ò»¸ö¹ý³Ì¹©ÓÀ¾ÃʹÓ㬻òÔÚÒ»¸ö»á»°ÖÐÁÙʱʹÓ㨾ֲ¿ÁÙʱ¹ý³Ì£©£¬»òÔÚËùÓлỰÖÐÁÙʱʹÓã¨È«¾ÖÁÙʱ¹ý³Ì£©¡£Ò²¿ÉÒÔ´´½¨ÔÚ Microsoft? SQL Server? Æô¶¯Ê±×Ô¶¯ÔËÐеĴ洢¹ý³Ì¡£
Óï·¨
CREATE PROC [ EDURE ] procedure_name [ ; number ]
[ { @parameter data_type }
[ VARYING ] [ = default ] [ OUTPUT ]
] [ ,...n ]
[ WITH
{ RECOMPILE | ENCRYPTION | RECOMPILE , ENCRYPTION } ]
[ FOR REPLICATION ]
AS sql_statement [ ...n ]
²ÎÊý
procedure_name
д洢¹ý³ÌµÄÃû³Æ¡£¹ý³ÌÃû±ØÐë·ûºÏ±êʶ·û¹æÔò£¬ÇÒ¶ÔÓÚÊý¾Ý¿â¼°ÆäËùÓÐÕß±ØÐëΨһ¡£Óйظü¶àÐÅÏ¢£¬Çë²Î¼ûʹÓñêʶ·û¡£
Òª´´½¨¾Ö²¿ÁÙʱ¹ý³Ì£¬¿ÉÒÔÔÚ procedure_name Ç°Ãæ¼ÓÒ»¸ö±àºÅ·û (#procedure_name)£¬Òª´´½¨È«¾ÖÁÙʱ¹ý³Ì£¬¿ÉÒÔÔÚ procedure_name Ç°Ãæ¼ÓÁ½¸ö±àºÅ·û (##procedure_name)¡£ÍêÕûµÄÃû³Æ£¨°üÀ¨ # »ò ##£©²»Äܳ¬¹ý 128 ¸ö×Ö·û¡£Ö¸¶¨¹ý³ÌËùÓÐÕßµÄÃû³ÆÊÇ¿ÉÑ¡µÄ¡£
;number
ÊÇ¿ÉÑ¡µÄÕûÊý£¬ÓÃÀ´¶ÔͬÃûµÄ¹ý³Ì·Ö×飬ÒÔ±ãÓÃÒ»Ìõ DROP PROCEDURE Óï¾ä¼´¿É½«Í¬×éµÄ¹ý³ÌÒ»Æð³ýÈ¥¡£ÀýÈ磬ÃûΪ orders µÄÓ¦ÓóÌÐòʹÓõĹý³Ì¿ÉÒÔÃüÃûΪ orderproc;1¡¢orderproc;2 µÈ¡£DROP PROCEDURE orderproc Óï¾ä½«³ýÈ¥Õû¸ö×é¡£Èç¹ûÃû³ÆÖаüº¬¶¨½ç±êʶ·û£¬ÔòÊý×Ö²»Ó¦°üº¬ÔÚ±êʶ·ûÖУ¬Ö»Ó¦ÔÚ procedure_name ǰºóʹÓÃÊʵ±µÄ¶¨½ç·û¡£
@parameter
¹ý³ÌÖеIJÎÊý¡£ÔÚ CREATE PROCEDURE Óï¾äÖпÉÒÔÉùÃ÷Ò»¸ö»ò¶à¸ö²ÎÊý¡£Óû§±ØÐëÔÚÖ´Ðйý³ÌʱÌṩÿ¸öËùÉùÃ÷²ÎÊýµÄÖµ£¨³ý·Ç¶¨ÒåÁ˸òÎÊýµÄĬÈÏÖµ£©¡£´æ´¢¹ý³Ì×î¶à¿ÉÒÔÓÐ 2.100 ¸ö²ÎÊý¡£
ʹÓà @ ·ûºÅ×÷ΪµÚÒ»¸ö×Ö·ûÀ´Ö¸¶¨²ÎÊýÃû³Æ¡£²ÎÊýÃû³Æ±ØÐë·ûºÏ±êʶ·ûµÄ¹æÔò¡£Ã¿¸ö¹ý³ÌµÄ²ÎÊý½öÓÃÓڸùý³Ì±¾Éí£»ÏàͬµÄ²ÎÊýÃû³Æ¿ÉÒÔÓÃÔÚÆäËü¹ý³ÌÖС£Ä¬ÈÏÇé¿öÏ£¬²ÎÊýÖ»ÄÜ´úÌæ³£Á¿£¬¶ø²»ÄÜÓÃÓÚ´úÌæ±íÃû¡¢ÁÐÃû»òÆäËüÊý¾Ý¿â¶ÔÏóµÄÃû³Æ¡£Óйظü¶àÐÅÏ¢£¬Çë²Î¼û EXECUTE¡£
data_type
²ÎÊýµÄÊý¾ÝÀàÐÍ¡£ËùÓÐÊý¾ÝÀàÐÍ£¨°üÀ¨ text¡¢ntext ºÍ image£©¾ù¿ÉÒÔÓÃ×÷´æ´¢¹ý³ÌµÄ²ÎÊý¡£²»¹ý£¬cursor Êý¾ÝÀàÐÍÖ»ÄÜÓÃÓÚ OUTPUT ²ÎÊý¡£Èç¹ûÖ¸¶¨µÄÊý¾ÝÀàÐÍΪ cursor£¬Ò²±ØÐëͬʱָ¶¨ VARYING ºÍ OUTPUT ¹Ø¼ü×Ö¡£ÓÐ¹Ø SQL Server ÌṩµÄÊý¾ÝÀàÐͼ°ÆäÓï·¨µÄ¸ü¶àÐÅÏ¢£¬Çë²Î¼ûÊý¾ÝÀàÐÍ¡£
˵Ã÷ ¶ÔÓÚ¿ÉÒÔÊÇ cursor Êý¾ÝÀàÐ͵ÄÊä³ö²ÎÊý£¬Ã»ÓÐ×î´óÊýÄ¿µÄÏÞÖÆ¡£
VARYIN
Ïà¹ØÎĵµ£º
create PROCEDURE pagelist
@tablename nvarchar(50),
@fieldname nvarchar(50)='*',
@pagesize int output,--ÿҳÏÔʾ¼Ç¼ÌõÊý
@currentpage int output,--µÚ¼¸Ò³
@orderid nvarchar(50),--Ö÷¼üÅÅÐò
@sort int,--ÅÅÐò·½Ê½£¬1±íʾÉýÐò£¬0±íʾ½µÐòÅÅÁÐ
......
ÔÚ×ö“¶¼ÊмÒÔ°”ÓÅ»¯Ê±£¬¾ßÌåÊÇÓû§×¢²áʱ£¬Ìá½»ÐÅÏ¢£¬±¾À´BirthdayÊÇûÓÐдÈëÖµµÄ£¬´Ë×Ö¶ÎҲûÓÐĬÈÏÖµ£¬¿ÉÊý¾Ý¿âÖÐȴΪ“1905/3/14 0:00:00”£¬ÓôÃÆÖÁ¼«£¬ÉÏgoogle&baiduÒ²ÊÇûÓнâ¾öµÄ·½°¸¡£
Ö»ÄÜÕâÑùÔʼµÄ½â¾ö£º
Register ´æ´¢¹ý³Ì
insert into UserInfo(UserID,sex) ......
--Óï ¾ä ¹¦ ÄÜ
--Êý¾Ý²Ù×÷
SELECT --´ÓÊý¾Ý¿â±íÖмìË÷Êý¾ÝÐкÍÁÐ
INSERT --ÏòÊý¾Ý¿â±íÌí¼ÓÐÂÊý¾ÝÐÐ
DELETE --´ÓÊý¾Ý¿â±íÖÐɾ³ýÊý¾ÝÐÐ
UPDATE --¸üÐÂÊý¾Ý¿â±íÖеÄÊý¾Ý
--Êý¾Ý¶¨Òå
CREATE TABLE --´´½¨Ò»¸öÊý¾Ý¿â±í
DROP TABLE --´ÓÊý¾Ý¿âÖÐɾ³ý±í
ALTER TABLE --ÐÞ¸ÄÊý¾Ý¿â±í½á¹¹
CREATE VIEW --´´½¨Ò»¸öÊÓÍ ......
µÚ¶þÊ®Ì⣺
ÔõôÑù³éÈ¡ÖØ¸´¼Ç¼
񡜧
id name
--------
1 test1
2 test2
3 test3
4 test4
5 test5
6 test6
2 test2
3 test3
2 test2
6 test6
²é³öËùÓÐÓÐÖØ¸´¼Ç¼µÄÊý¾Ý£¬ÓÃÒ»¾äsql À´ÊµÏÖ
create table D(
id varchar (20),
name varchar (20)
)
insert into D values('1','test1')
insert into D val ......
table
Num createDate
---------------------------------
(¿Õ) 20090901
(¿Õ) 20090901
  ......