OracleÊý¾Ý¿âÓαêʹÓôóÈ«
SQLÊÇÓÃÓÚ·ÃÎÊORACLEÊý¾Ý¿âµÄÓïÑÔ£¬PL/SQLÀ©Õ¹ºÍ¼ÓÇ¿ÁËSQLµÄ¹¦ÄÜ£¬Ëü ͬʱÒýÈëÁ˸üÇ¿µÄ³ÌÐòÂß¼¡£ PL/SQLÖ§³ÖDMLÃüÁîºÍSQLµÄÊÂÎñ¿ØÖÆÓï¾ä¡£DDLÔÚPL/SQLÖв»±»Ö§³Ö£¬Õâ¾ÍÒâζ×÷ÔÚPL/SQL³ÌÐò¿éÖв»ÄÜ´´½¨±í»òÆäËûÈκζÔÏ󡣽Ϻà µÄPL/SQL³ÌÐòÉè¼ÆÊÇÔÚPL/SQL¿éÖÐʹÓÃÏóDBMS_SQLÕâÑùµÄÄÚ½¨°ü»òÖ´ÐÐEXECUTE IMMEDIATEÃüÁÁ¢¶¯Ì¬SQLÀ´Ö´ÐÐDDLÃüÁPL/SQL±àÒëÆ÷±£Ö¤¶ÔÏóÒýÓÃÒÔ¼°Óû§µÄȨÏÞ¡£
¡¡¡¡ÏÂÃæÎÒÃǽ«ÌÖÂÛ¸÷ÖÖÓÃÓÚ·ÃÎÊORACLEÊý¾Ý¿âµÄDDLºÍTCLÓï¾ä¡£
¡¡¡¡²éѯ
¡¡¡¡SELECTÓï¾äÓÃÓÚ´ÓÊý¾Ý¿âÖвéѯÊý¾Ý£¬µ±ÔÚPL/SQLÖÐʹÓÃSELECTÓï¾äʱ£¬ÒªÓëINTO×Ó¾äÒ»ÆðʹÓ㬲éѯµÄ·µ»ØÖµ±»¸³ÓèINTO×Ó¾äÖеıäÁ¿£¬±äÁ¿µÄÉùÃ÷ÊÇÔÚDELCAREÖС£SELECT INTOÓï·¨ÈçÏ£º
SELECT [DISTICT|ALL]{*|column[,column,...]}
INTO (variable[,variable,...] |record)
from {table|(sub-query)}[alias]
WHERE............
¡¡¡¡PL/SQLÖÐSELECTÓï¾äÖ»·µ»ØÒ»ÐÐÊý¾Ý¡£Èç¹û³¬¹ýÒ»ÐÐÊý¾Ý£¬ÄÇô¾ÍҪʹÓÃÏÔʽÓα꣨¶ÔÓαêµÄÌÖÂÛÎÒÃǽ«ÔÚºóÃæ½øÐУ©£¬INTO×Ó¾äÖÐÒªÓÐÓëSELECT×Ó¾äÖÐÏàͬÁÐÊýÁ¿µÄ±äÁ¿¡£INTO×Ó¾äÖÐÒ²¿ÉÒÔÊǼǼ±äÁ¿¡£
¡¡¡¡%TYPEÊôÐÔ
¡¡¡¡ÔÚPL/SQLÖпÉÒÔ½«±äÁ¿ºÍ³£Á¿ÉùÃ÷ΪÄÚ½¨»òÓû§¶¨ÒåµÄÊý¾ÝÀàÐÍ£¬ÒÔÒýÓÃÒ»¸öÁÐÃû£¬Í¬Ê±¼Ì³ÐËûµÄÊý¾ÝÀàÐͺʹóС¡£ÕâÖÖ¶¯Ì¬¸³Öµ·½·¨ÊǷdz£ÓÐÓõ쬱ÈÈç±äÁ¿ÒýÓõÄÁеÄÊý¾ÝÀàÐͺʹóС¸Ä±äÁË£¬Èç¹ûʹÓÃÁË%TYPE,ÄÇôÓû§¾Í²»±ØÐ޸ĴúÂ룬·ñÔò¾Í±ØÐëÐ޸ĴúÂë¡£
¡¡Àý£º
v_empno SCOTT.EMP.EMPNO%TYPE;
v_salary EMP.SALARY%TYPE;
¡¡¡¡²»µ«ÁÐÃû¿ÉÒÔʹÓÃ%TYPE,¶øÇÒ±äÁ¿¡¢Óαꡢ¼Ç¼£¬»òÉùÃ÷µÄ³£Á¿¶¼¿ÉÒÔʹÓÃ%TYPE¡£Õâ¶ÔÓÚ¶¨ÒåÏàͬÊý¾ÝÀàÐ͵ıäÁ¿·Ç³£ÓÐÓá£
DELCARE
V_A NUMBER(5):=10;
V_B V_A%TYPE:=15;
V_C V_A%TYPE;
BEGIN
DBMS_OUTPUT.PUT_LINE
('V_A='||V_A||'V_B='||V_B||'V_C='||V_C);
END
SQL>/
V_A=10 V_B=15 V_C=
PL/SQL procedure successfully completed.
SQL>
¡¡¡¡ÆäËûDMLÓï¾ä
¡¡ ¡¡ÆäËü²Ù×÷Êý¾ÝµÄDMLÓï¾äÊÇ:INSERT¡¢UPDATE¡¢DELETEºÍLOCK TABLE,ÕâЩÓï¾äÔÚPL/SQLÖеÄÓï·¨ÓëÔÚSQLÖеÄÓï·¨Ïàͬ¡£ÎÒÃÇÔÚÇ°ÃæÒѾÌÖÂÛ¹ýDMLÓï¾äµÄʹÓÃÕâÀï¾Í²»ÔÙÖØ¸´ÁË¡£ÔÚDMLÓï¾äÖпÉÒÔʹÓÃÈÎ ºÎÔÚDECLARE²¿·ÖÉùÃ÷µÄ±äÁ¿£¬Èç¹ûÊÇǶÌ׿飬ÄÇôҪעÒâ±äÁ¿µÄ×÷Ó÷¶Î§¡£
¡¡¡¡Àý£º
CREATE OR REPLACE PROCEDURE FIRE_EMPLOYEE (pempno in number)
¡¡AS
¡¡¡¡v_ename EMP.ENAME%TYPE;
¡¡BEGIN
¡¡¡¡SELECT ename INTO v
Ïà¹ØÎĵµ£º
ÁгöÅäÖõÄËùÓÐÊý¾Ý¿â
[root@node1 ~]# srvctl config database
NOVADB
ËùÓÐʵÀýºÍ·þÎñµÄ״̬
[root@node1 ~]# srvctl status database -d NOVADB
Instance NOVADB1 is running on node node1
Instance NOVADB2 is running on node node2
µ¥¸öʵÀýµÄ״̬
[root@node1 ~]# srvctl status instance -d NOVADB -i NOVA ......
SQL> conn system/oracle
Connected.
SQL> create table scott.t1(id number primary key,name varchar2(10)); --´´½¨²âÊÔ±í
Table created.
SQL> select constraint_name,table_name,constraint_type, --²é¿´ÏàÓ¦ÍêÕûÐÔÔ¼ÊøµÄ״̬
2 status,deferrable,deferred,validated
3 fro ......
OracleµÄÎﻯÊÓͼÌṩÁËÇ¿´óµÄ¹¦ÄÜ£¬¿ÉÒÔÓÃÓÚÔ¤ÏȼÆËã²¢±£´æ±íÁ¬½Ó»ò¾Û¼¯µÈºÄʱ½Ï¶àµÄ²Ù×÷µÄ½á¹û£¬ÕâÑù£¬ÔÚÖ´Ðвéѯʱ£¬¾Í¿ÉÒÔ±ÜÃâ½øÐÐÕâЩºÄʱµÄ²Ù×÷£¬¶ø´Ó¿ìËٵĵõ½½á¹û¡£ÎﻯÊÓͼÓÐºÜ¶à·½ÃæºÍË÷ÒýºÜÏàËÆ£ºÊ¹ÓÃÎﻯÊÓͼµÄÄ¿µÄÊÇΪÁËÌá¸ß²éѯÐÔÄÜ£»ÎﻯÊÓͼ¶ÔÓ¦ÓÃ͸Ã÷£¬Ôö¼ÓºÍɾ³ýÎﻯÊÓͼ²»»áÓ°ÏìÓ¦ÓóÌÐòÖÐSQLÓï¾äµÄÕýÈ ......
ʹÓÃultraedit32´ò¿ªµ¼³öµÄdmpÎļþ£¬ÎļþÄÚÈÝÒÔÊ®Áù½øÖÆÏÔʾÊý¾Ý£¬ÆäÖеڶþ¡¢Èý×Ö½ÚµÄÊý¾Ý¼Ç¼µÄÊÇ´ËÎļþµÄ×Ö·û¼¯¡£
ÀýÈ磺
03 54
½«Æäת»»Îª10½øÖÆ£¬ÖµÎª852£¬Ê¹ÓÃÃüÁî
select nls_charset_name(852) from dual
µÃµ½½á¹û
ZHS16GBK
µ±Ç°Ê¹ÓÃwinXP¼òÌåÖÐÎIJÙ×÷ϵͳ£¬Oracle¿Í»§¶ËĬÈÏ×Ö·û¼¯ÎªGBK¡£
´´½¨Êý¾Ý¿â£¬É趨 ......
½ø³Ì½á¹¹
½ø³ÌÊDzÙ×÷ϵͳÖеÄÒ»ÖÖ»úÖÆ£¬Ëü¿ÉÖ´ÐÐһϵÁеIJÙ×÷²½¡£ÔÚÓÐЩ²Ù×÷ϵͳÖÐʹÓÃ×÷Òµ(JOB)»òÈÎÎñ(TASK)µÄÊõÓï¡£Ò»¸ö½ø³Ìͨ³£ÓÐËü×Ô¼ºµÄרÓÃ´æ´¢Çø¡£ORACLE½ø³ÌµÄÌåϵ½á¹¹Éè¼ÆÊ¹ÐÔÄÜ×î´ó¡£
ORACLEʵÀýÓÐÁ½ÖÖÀàÐÍ£ºµ¥½ø³ÌʵÀýºÍ¶à½ø³ÌʵÀý¡£
µ¥½ø³ÌORACLE£¨ÓֳƵ¥ÓÃORACLE£©ÊÇÒ»ÖÖÊý¾Ý¿âϵͳ£¬Ò»¸ö½ø³ÌÖ´ÐÐÈ«²¿ORA ......