ORACLE PL/SQL ¶ÔÏó(object)ѧϰ±Ê¼Ç(¶þ)
4¡¢¶ÔÏóÒÀÀµÐÔ
CREATE OR REPLACE TYPE Obj1 AS OBJECT (
f1 NUMBER,
f2 VARCHAR2(10),
f3 DATE
);
/
CREATE OR REPLACE TYPE Obj2 AS OBJECT (
f1 DATE,
f2 CHAR(1)
);
/
CREATE OR REPLACE TYPE Obj3 AS OBJECT (
a Obj1,
b Obj2
);
/
OBJ3ÒÀÀµÓÚOBJ1ºÍOBJ2¡£ËùÒÔɾ³ý»òÐÞ¸ÄOBJ1»òOBJ2֮ǰûÓÐÊ×ÏÈɾ³ýOBJ3ÊÇ·Ç·¨µÄ¡£
5¡¢¶ÔÏó±êʶ·ûºÍ¶ÔÏóÒýÓÃ
¶ÔÏó±êʶ·û£¨object identifier £¬¼ò³ÆÎªOID£©ÊÇijÖÖÀàÐ͵ÄÓÀ¾Ã¶ÔÏóµÄΨһ¶¨Î»·û¡£ÓëROWID±äÁ¿ÏàÀàËÆ£¨ËüΨһµÄ±êʶÁËÒ»ÐУ©£¬¶ÔÏó±êʶ·ûΨһ±êʶÁËÒ»¸ö¶ÔÏó¡£
ÎÒÃÇÖªµÀ£¬REF CURSOR±äÁ¿ÓëCURSOR±äÁ¿ÊDz»Í¬µÄ£¬Ëü½ö½öÊÇÖ¸ÏòÒ»¸öÓαêµÄÖ¸Õë¡£¶ÔÏóÒýÓÃÒ²ÊÇÒ»Ñù¡£¶ÔÏóÒýÓÃÊÇÒ»¸öÖ¸Ïò¶ÔÏóµÄÖ¸Õ룬¶ø²»ÊǶÔÏó±¾Éí¡£ÔÚÉùÃ÷²¿·Ö»ò±í¶¨ÒåÖÐÉùÃ÷¶ÔÏóÒýÓõÄÓï·¨ÊÇ£º
Variable_name REF object_type;
ÕâÀïVariable_nameÊǶÔÏóÒýÓõÄÃû×Ö£¬¶øobject_typeÊǶÔÏóÀàÐÍ¡£
ÀýÈçÏÂÃæ¶¨ÒåµÄClassObjÀàÐͰüº¬Ò»¸öÖ¸ÏòRoomObjµÄÒýÓãº
CREATE OR REPLACE TYPE ClassObj AS OBJECT (
department CHAR(3),
course NUMBER(3),
description VARCHAR2(2000),
max_students NUMBER(3),
current_students NUMBER(3),
num_credits NUMBER(1),
room REF RoomObj
);
/
6¡¢ÔÚDMLÓï¾äÖÐʹÓöÔÏó
1£©INSERT
ÔÚÐèҪʹÓöÔÏóµÄINSERT Óï¾äÖУ¬ Äã¿ÉÒÔʹÓöÔÏó¹¹Ô캯Êý£¬»òÕßÒ»¸ö¶ÔÏóµÄPL/SQL±äÁ¿£¬ËüÃǶ¼°üº¬ÁËÒª²åÈëµÄ¶ÔÏó¡£¶ÔÓÚINSERTÓï¾ä¶øÑÔ£¬¶ÔÏóµÄÐÐΪ·½Ê½ºÍ±êÁ¿ÀàÐÍÊǺÜÏàËÆµÄ¡£
2£©UPDATE
ÔÚUPDATEÓï¾äÖеÄWHERE»òVALUES×Ó¾äÖУ¬¶ÔÏó¿ÉÒÔ±»ÓÃ×÷Áª±à±äÁ¿¡£
ÏÂÃæµÄ¿é´´½¨ÁËÒ»¸öÐµķ¿¼ä£¬²¢¸üÐÂclasses±íÒÔ·´Ó³Ð²åÈëµÄÊýÖµ¡£
DECLARE
v_NewRoom RoomObj :=
RoomObj(99990, 'Building 7', 200, 50, 'Discussion Room F');
v_RoomRef REF RoomObj;
BEGIN
-- The RETURNING clause on this statement puts a reference to the
-- newly inserted room into v_RoomRef.
INSERT INTO rooms r VALUES (v_NewRoom)
RETURNING REF(r) INTO v_RoomRef;
UPDATE classes
SET room = v_RoomRef
WHERE department = 'NUT'
Ïà¹ØÎĵµ£º
SQLÓï¾äÓï·¨
Ŀ¼
13.1. Êý¾Ý¶¨ÒåÓï¾ä
13.1.1. ALTER DATABASEÓï·¨
13.1.2. ALTER TABLEÓï·¨
13.1.3. CREATE DATABASEÓï·¨
13.1.4. CREATE INDEXÓï·¨
13.1.5. CREATE TABLEÓï·¨
13.1.6. DROP DATABASEÓï·¨
13.1.7. DROP INDEXÓï·¨
13.1.8. DROP TABLEÓï·¨
13.1.9. RENAME TABLEÓï·¨
13.2. Êý¾Ý²Ù×÷Óï¾ ......
ÎÊÌ⣺¼ÙÉèÓÐÕÅѧÉú³É¼¨±í(tb)ÈçÏÂ:
ÐÕÃû ¿Î³Ì ·ÖÊý
ÕÅÈý ÓïÎÄ 74
ÕÅÈý Êýѧ 83
ÕÅÈý ÎïÀí 93
ÀîËÄ ÓïÎÄ 74
ÀîËÄ Êýѧ 84
ÀîËÄ ÎïÀí 94
Ïë±ä³É(µÃµ½ÈçϽá¹û)£º
ÐÕÃû ÓïÎÄ Êýѧ ÎïÀí
---- ---- --- ......
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) ......
1¡¢´¥·¢Æ÷µÄ¸ÅÄî
´¥·¢Æ÷Ò²ÊÇÒ»ÖÖ´øÃûµÄPL/SQL¿é¡£´¥·¢Æ÷ÀàËÆÓÚ¹ý³ÌºÍº¯Êý£¬ÒòΪËüÃǶ¼ÊÇÓµÓÐÉùÃ÷¡¢Ö´ÐкÍÒì³£´¦Àí¹ý³ÌµÄ´øÃûPL/SQL¿é¡£Óë°üÀàËÆ£¬´¥·¢Æ÷±ØÐë´æ´¢ÔÚÊý¾Ý¿âÖв¢ÇÒ²»Äܱ»¿é½øÐб¾µØ»¯ÉùÃ÷¡£
¶ÔÓÚ´¥·¢Æ÷¶øÑÔ£¬µ±´¥·¢Ê¼þ·¢ÉúµÄʱºò¾Í»áÏÔʽµØÖ´Ðиô¥·¢Æ÷£¬²¢ÇÒ´¥·¢Æ÷²»½ÓÊܲÎÊý¡£
´´½¨´¥·¢Æ÷µÄÓï·¨È ......