ORACLE PL/SQL°ü(package)ѧϰ±Ê¼Ç
°üÓɰü¹æ·¶ºÍ°üÌåÁ½²¿·Ö×é³É¡£
1¡¢°ü¹æ·¶£¨Package Specification£©
°ü¹æ·¶£¬Ò²½Ð×ö°üÍ·£¬°üº¬ÁËÓйذüµÄÄÚÈݵÄÐÅÏ¢¡£µ«ÊÇ£¬Ëü²»°üº¬Èκιý³ÌµÄ´úÂë¡£
´´½¨°üÍ·µÄÓï·¨Ò»°ãÈçÏÂ
CREATE [OR REPLACE] PACKAGE package_name {IS | AS}
Procedure_name | function_name | variable_declaration | type_definition | exception_declaration | cursor_declaration
END [package_name];
ÉùÃ÷°üÍ·»¹Òª×ñÑһЩÓï·¨¹æÔò£¬ÈçÏ£º
°ü²¿¼þ¿ÉÒÔÒÔÈÎÒâ´ÎÐò³öÏÖ¡£µ«ÊÇ£¬¶ÔÏó±ØÐëÔÚ±»ÒýÓÃ֮ǰ½øÐÐÉùÃ÷¡£
ËùÓÐÀàÐ͵IJ¿¼þ¶¼Ã»ÓбØÒª¶¼±»Ê¹Óá£ÀýÈ磬°ü¿ÉÒÔ½ö°üº¬¹ý³ÌºÍº¯Êý¹æ·¶£¬¶øÃ»ÓÐÉùÃ÷Òì³£´¦Àí»òÀàÐÍ¡£
¶ÔÓÚ¹ý³ÌºÍº¯ÊýµÄËùÓÐÉùÃ÷¶¼±ØÐëÊÇǰÏòÉùÃ÷¡£
2¡¢°üÖ÷Ì壨Package Body£©
°üÖ÷ÌåºÍ°üÍ·´æ´¢ÔÚ²»Í¬µÄÊý¾Ý×ÖµäÖС£Èç¹ûûÓж԰üÍ·½øÐгɹ¦µÄ±àÒ룬¾Í²»¿ÉÄܶ԰üÖ÷Ìå±àÒë³É¹¦¡£Ö÷ÌåÖаüº¬ÁËÔÚ°üÍ·ÖÐǰÏò×Ó³ÌÐòÉùÃ÷ÏàÓ¦µÄ´úÂë¡£
°üÖ÷ÌåÊÇ¿ÉÑ¡µÄ¡£Èç¹û°üÍ·²»°üº¬Èκιý³Ì»òº¯Êý£¬ÄÇô°üÖ÷Ìå¿ÉÒÔûÓС£Õâ¸ö¼¼Êõ¶ÔÓÚÉùÃ÷È«¾Ö±äÁ¿ÊǺÜÓÐÓõģ¬ÒòΪ°üÖеÄËùÓжÔÏóÔÚ°üµÄÍâÃæÊǿɼûµÄ¡£
°üÍ·ÖеÄËùÓÐǰÏòÉùÃ÷±ØÐëÔÚ°üÖ÷ÌåÖб»¸üС£¹ý³Ì»òº¯ÊýµÄ¹æ·¶ÔÚ°üÍ·ºÍ°üÖ÷ÌåÖбØÐëÊÇÏàͬµÄ¡£Õâ¸ö¹æ·¶°üÀ¨×Ó³ÌÐòµÄÃû×Ö¡¢²ÎÊýµÄÃû×ÖÒÔ¼°²ÎÊýµÄģʽ¡£
3¡¢°üºÍ×÷ÓÃÓò
ÔÚ°üÍ·Öж¨ÒåµÄÈκζÔÏó¶¼ÓÐÒ»¶¨µÄ·¶Î§£¬ÔÚ°üÒÔÍâͨ¹ýʹÓðüÃû³ÆÏÞ¶¨ÈÔÈ»¿ÉÒÔʹÓÃÕâЩ¶ÔÏó¡£ÀýÈ磬¿ÉÒÔÏñÏÂÃæPL/SQL¿éÄÇÑùµ÷ÓÃInventoryOps.DeleteISBN¹ý³Ì¡£
BEGIN
InventoryOps.DeleteISBN(‘78824389’);
END;
°ü¹ý³ÌµÄµ÷ÓÃÓëµ¥¶ÀµÄ¹ý³Ìµ÷ÓÃÏàͬ£¬Î¨Ò»µÄÇø±ð¾ÍÊÇÔÚ°ü¹ý³ÌµÄÇ°ÃæÌí¼ÓÁ˰üÃû³ÆÇ°×º¡£°ü¹ý³Ì¿ÉÒÔ´øÓÐĬÈϵIJÎÊý£¬¿ÉÒÔʹÓÃλÖñíʾ·¨»òÕßÃû³Æ±íʾ·¨µ÷ÓÃËüÃÇ£¬¾ÍÏñµ¥¶ÀµÄ´æ´¢¹ý³ÌÒ»Ñù¡£
°üÍ·ÖеĶÔÏóÔÚ°üÖ÷ÌåÖпÉÒÔÖ±½ÓʹÓ㬲»ÐèÒª¸½´ø°üÃûǰ׺¡£
4¡¢°ü×Ó³ÌÐòµÄÖØÔØ
ÔÚ°üÖУ¬¹ý³ÌºÍº¯ÊýÊÇ¿ÉÒÔÖØÔØµÄ¡£ÕâÒ²¾ÍÒâζ×Å¿ÉÒÔÈöà¸ö¹ý³Ì»òº¯Êý¹²ÓÃͬһ¸öÃû³Æ£¬µ«ÊÇ´øÓв»Í¬µÄ²ÎÊý¡£ÕâÊÇÒ»¸ö·Ç³£ÓÐÓõŦÄÜÌØÐÔ£¬ÒòΪËüÈÃͬһ¸ö²Ù×÷¿ÉÒÔÖ´ÐÐÔÚ²»Í¬ÀàÐ͵ĶÔÏóÉÏ¡£
ÏÂÃæÊ¾ÀýÑÝʾÁ˰ü×Ó³ÌÐòµÄÖØÔØ
CREATE OR REPLACE PACKAGE InventoryOps AS
…
-- Returns an array containing the books with the specified status.
PROCEDURE StatusList(p_Status IN
Ïà¹ØÎĵµ£º
select *
from (select row_number() over(partition by t.type order by date desc) rn,
t.*
from ±íÃû t)
where rn <= 2;
typeÒª·ÖµÄÀà
date ÅÅÐò ......
ΪÁË´¦Àí SQL Óï¾ä£¬ORACLE ±ØÐë·ÖÅäһƬ½ÐÉÏÏÂÎÄ( context area )µÄÇøÓòÀ´´¦ÀíËù±ØÐèµÄÐÅÏ¢£¬ÆäÖаüÀ¨Òª´¦ÀíµÄÐеÄÊýÄ¿£¬Ò»¸öÖ¸ÏòÓï¾ä±»·ÖÎöÒÔºóµÄ±íʾÐÎʽµÄÖ¸ÕëÒÔ¼°²éѯµÄ»î¶¯¼¯(active set)¡£
ÓαêÊÇÒ»¸öÖ¸ÏòÉÏÏÂÎĵľä±ú( handle)»òÖ¸Õ롣ͨ¹ýÓα꣬PL/SQL¿ÉÒÔ¿ØÖÆÉÏÏÂÎÄÇøºÍ´¦ÀíÓï¾äʱÉÏÏÂÎÄÇø»á·¢ÉúÐ ......
using System;
using System.Text.RegularExpressions;
using Microsoft.SqlServer.Server;
public partial class UserDefinedFunctions
{
[Microsoft.SqlServer.Server.SqlFunction(IsDeterministic = true,IsPrecise = true)]
public static bool RegExIsMatch(string pattern,string matchString)
{
......
µÚÒ»Ì⣺
Ϊ¹ÜÀíÒµÎñÅàѵÐÅÏ¢£¬½¨Á¢3¸ö±í£º
S(S#,SN,SD,SA)S#,SN,SD,SA·Ö±ð´ú±íѧºÅ£¬Ñ§Ô±ÐÕÃû£¬ËùÊôµ¥Î»£¬Ñ§Ô±ÄêÁä
C(C#,CN)C#,CN·Ö±ð´ú±í¿Î³Ì±àºÅ£¬¿Î³ÌÃû³Æ
SC(S#,C#,G) S#,C#,G·Ö±ð´ú±íѧºÅ£¬ËùÑ¡µÄ¿Î³Ì±àºÅ£¬Ñ§Ï°³É¼¨
(1)ʹÓñê×¼SQLǶÌ×Óï¾ä²éѯѡÐ޿γÌÃû³ÆÎª’˰ÊÕ»ù´¡’µÄѧԱѧºÅºÍÐÕÃû?
(2) ......
PL/SQL: OracleÖеÄSQL¹ý³Ì»¯±à³ÌÓïÑÔ
1. PL/SQL³ÌÐòÊÇÓÉ¿é½á¹¹¹¹³É£¬¸ñʽÈçÏ£º
[DECLARE
--ÉùÃ÷²¿·Ö
¡¡]
BEGIN
-- Ö÷Ìå
[EXCEPTION
-- Òì³£´¦Àí¿é
]
END;
/ --¿éµÄ½áÊø
2.±äÁ¿
¼òµ¥±äÁ¿£º ......