ORACLE PL/SQL×Ó³ÌÐò
ιʶøÖªÐ£¬¹ûÈ»Èç´Ëѽ£¬µÚ¶þ´ÎÔÙ·¿ªÍ¬ÑùµÄÄÚÈݹûÈ»Óв»Í¬µÄÊÕ»ñ£¬ÓÐЩÊǵÚÒ»´Î¿´µÄʱºòûÓÐ×ÐϸÀí½âµÄ£¬»¹ÓÐЩ¿ÉÄÜÊÇÔÚµÚÒ»´Î¿´´Ò´Ò¾ÍÌø¹ýµÄ£¬µ±È»£¬¿ÉÄÜ»¹Óв¿·ÖÊÇ×Ô¼ºµ±Ê±¼ÇסÁËÍêÁËÓÖ¸øÍü¼ÇÁË¡£½ñÌìµÚ¶þ´Î¿´µ½×Ó³ÌÐòÕâÒ»Õ½ڣ¬·¢ÏÖÁËЩеÄÄÚÈÝ£¬ºÇºÇ¡£ÔÚÕâÀïÎÒ¾ÍдÏÂһЩ»ù±¾ÄÚÈݺÍÈÝÒ×Íü¼ÇµÄ£¬ÃâµÃÏ´ÎÓÖ¸øÍüÁË¡£ÄÚÈÝ¿ÉÄܲ»Ì«È«Ã棬ÓеãÕë¶ÔÎÒ¸öÈËŶ£¬ºÇºÇ£¡
1.´´½¨×Ó³ÌÐòµÄÓï·¨
´´½¨¹ý³Ì
CREATE [OR REPLACE] PROCEDURE procedure_name
[(argument [{IN | OUT| IN OUT}] type,
...
argument [{IN | OUT| IN OUT}] type)]
{IS | AS} --ISºÍASÃ»Çø±ð
procedure_body
´´½¨º¯Êý
CREATE [OR REPLACE] FUNCTION function_name
[(argument [{IN | OUT| IN OUT}] type,
...
argument [{IN | OUT| IN OUT}] type)]
RETURN return_type {IS | AS} --ISºÍASÃ»Çø±ð
procedure_body
2.²ÎÊýģʽ
IN
µ÷Óùý³ÌµÄʱºò£¬Êµ¼Ê²ÎÊýµÄÖµ¾Í»á´«µÝµ½¸Ã¹ý³ÌÖС£ÔÚ¹ý³ÌÄÚ²¿£¬ÐÎʽ²ÎÊý¾ÍÏñPL/SQLµÄ³£Á¿Ò»Ñù--Ëü»á±»¿´×÷ÊÇÖ»¶ÁÇÒ²»ÄÜÐ޸ĵġ£µ±¹ý³ÌÖ´ÐÐÍê±Ï£¬³ÌÐòµÄ¿ØÖÆ·µ»Øµ½µ÷Óû·¾³µÄʱºò£¬Êµ¼Ê²ÎÊýµÄÖµ²»»áÓÐÈκα仯¡£
OUT
µ÷Óùý³ÌµÄʱºò£¬»áºöÂÔËùÓÐʵ¼Ê²ÎÊýµÄÖµ¡£ÔÚ¹ý³ÌÄÚ²¿£¬ÐÎʽ²ÎÊý¾ÍÏñδ³õʼ»¯µÄPL/SQL±äÁ¿Ò»Ñù£¬Ò²»áÓÐÒ»¸öNULLÖµ¡£ÐÎʽ²ÎÊýµÄÖµ¼È¿ÉÒÔ¶ÁÈ¡£¬Ò²¿ÉÒÔдÈë¡£¹ý³ÌÖ´ÐÐÍê³ÉÒԺ󣬿ØÖƾͻ᷵»Øµ½µ÷Óû·¾³£¬Í¬Ê±»á½«ÐÎʽ²ÎÊýµÄÖµ¸³¸øÊµ¼Ê²ÎÊý¡£
IN OUT
ÕâÊÇINºÍOUTµÄ¸´ºÏģʽ¡£µ÷Óùý³ÌµÄʱºò£¬Êµ¼Ê²ÎÊýµÄÖµ»á´«µÝµ½¹ý³ÌÖС£ÔÚ¹ý³ÌÄÚ²¿£¬ÐÎʽ²ÎÊý¾ÍÏñ³õʼ»¯ÒÔºóµÄ±äÁ¿£¬¿ÉÒÔ¶ÁÈ¡ºÍдÈë¡£¹ý³Ì½áÊøÒԺ󣬿ØÖƻ᷵»Øµ½µ÷Óû·¾³£¬Í¬Ê±»á½«ÐÎʽ²ÎÊýµÄÄÚÈÝ·ÖÅä¸øÊµ¼Ê²ÎÊý¡£
3.ÒÔ´«ÖµºÍ´«ÒýÓõķ½Ê½´«µÝ²ÎÊý
´«µÝ×Ó³ÌÐò²ÎÊýµÄ·½Ê½ÓÐÁ½ÖÖ--´«ÖµºÍ´«ÒýÓᣵ±ÒÔÒýÓõķ½Ê½´«µÝ²ÎÊýµÄʱºò£¬¾Í½«Ö¸Ïòʵ¼Ê²ÎÊýµÄÒ»¸öÖ¸Õë´«µÝµ½ÏàÓ¦µÄÐÎʽ²ÎÊý¡£ÁíÒ»·½Ã棬µ±ÒÔ´«ÖµµÄ·½Ê½´«µÝ²ÎÊýµÄʱºò£¬¾Í½«Êµ¼Ê²ÎÊýµÄÖµ¸´ÖƵ½ÏàÓ¦µÄÐÎʽ²ÎÊý¡£ÒÔÒýÓõķ½Ê½´«µÝ²ÎÊýͨ³£»á¸ü¿ì£¬ÒòΪËü±ÜÃâÁ˸´ÖÆ¡£¶Ô¼¯ºÏÀàÐ͵IJÎÊý¶øÑÔ£¬Õâ±íÏÖ¸ü¼ÓÃ÷ÏÔ£¬ÒòΪ¼¯ºÏÀàÐ͵ÄÊý¾ÝÒ»°ã¶¼·Ç³£¶à¡£
ĬÈÏÇé¿öÏ£¬PL/SQL¶ÔIN²ÎÊý¶¼Ê¹Óô«ÒýÓõķ½Ê½£¬¶ø¶ÔIN OUTºÍOUT²ÎÊý¶¼Ê¹Óô«ÖµµÄ·½Ê½¡£
1£©NOCOPYµÄʹÓ÷½·¨
parameter_name [mode] NOCOPY datatype
ÆäÖÐparameter_nameÊDzÎÊýµÄÃû³Æ£¬modeÊDzÎÊýģʽ£¬¶ødatatype
Ïà¹ØÎĵµ£º
ǰÑÔ
SQL Server 2005¿ªÊ¼Ö§³Ö±í·ÖÇø£¬ÕâÖÖ¼¼ÊõÔÊÐíËùÓеıí·ÖÇø¶¼±£´æÔÚͬһ̨·þÎñÆ÷ÉÏ¡£Ã¿Ò»¸ö±í·ÖÇø¶¼ºÍÔÚij¸öÎļþ×é(filegroup)Öеĵ¥¸öÎļþ¹ØÁª¡£Í¬ÑùµÄÒ»¸öÎļþ/Îļþ×é¿ÉÒÔÈÝÄɶà¸ö·ÖÇø±í¡£ÔÚÕâÖÖÉè¼Æ¼Ü¹¹Ï£¬Êý¾Ý¿âÒýÇæÄܹ»Åж¨²éѯ¹ý³ÌÖÐÓ¦¸Ã·ÃÎÊÄĸö·ÖÇø£¬¶ø²»ÓÃɨÃèÕû¸ö±í¡£Èç¹û²éѯÐèÒªµÄÊý¾ÝÐзÖÉ¢ÔÚ¶à¸ö·ÖÇøÖ ......
SQL Server ¼¸¸öºÃÓõÄSQLÓï¾ä
1¡¢¸´ÖƱí
select * into desttable from srctable
½« srctable ÍêÕûµØ¸´ÖÆÒ»·Ýµ½ desttable ÖУ¬µ±È»ºóÃæÒ²¿ÉÒÔ¼ÓÉÏÌõ¼þÀ´ÏÞ¶¨ÐèÒª¸´ÖƵļǼ
ÒªÇó£ºdesttable ±ØÐëΪ²»´æÔڵıíÃû¡£
insert into desttable(column1, column2) select columna, columnb from sr ......
USE AdventureWorks
GO
CREATE PROC spEmployee
AS
SELECT * from Humanresources.Employee
EXEC spEmployee
ALTER PROC spEmployee
AS SELECT EmployeeID from Humanresources.Employee
drop proc spEmployee
ALTER PROC spEmployee
@LastName nvarchar(50) = NULL
AS
IF @LastName IS NULL
SELECT * f ......
´Ë²¿·ÖÄÚÈÝ´´½¨Ò»¸öÇáÁ¿¼¶T-SQL²âÊÔÌ×¼þ£¬×ܹ²ÓÐ3¸ö½Å±¾£º
ÓÃÓÚ´´½¨²âÊÔÆ½Ì¨Êý¾ÝºÍ´ý²â´æ´¢¹ý³ÌµÄ½Å±¾
--======================
--makeDbTestAndResults.sql
use master
go
if exists (select * from sysdatabases where name = 'DbTestAndResults')
drop database makeDbTes ......