Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB
ÈÈÃűêÇ©£º c c# c++ asp asp.net linux php jsp java vb Python Ruby mysql sql access Sqlite sqlserver delphi javascript Oracle ajax wap mssql html css flash flex dreamweaver xml
 ×îÐÂÎÄÕ : Oracle

OracleÀ©Õ¹PL/SQL¼ò½é(Áù)

8.    bulk collect /forall
ʹÓÃbulk collect¿ÉÒÔ³É¿éµØ¶ÁÈ¡Êý¾Ý£¬Ëü¿ÉʹSQLÒýÇæÔÚ·µ»ØÊä³ö½á¹û¸øPL/SQLÒýÇæÖ®Ç°´óÅú°ó¶¨Êä³ö¼¯ºÏ¡£ÕâÑù¿ÉÒÔÒ»´ÎÐԵذÑÊý¾Ý¶¯Ì¬µØ×°Ôص½¼¯ºÏÖУ¬µ«bulk collectÐèÒª´óÁ¿ÄÚ´æ¡£bulk collect¿ÉÓÃÓÚselect into¡¢fetch intoºÍreturning intoÓï¾äÖС£
¡ñ    select intoÖÐʹÓÃbulk collect
declare
  type t_email is table of employees.email%type;
  v_email_list t_email;
begin
  select email bulk collect
    into v_email_list
    from employees
   where department_id = 50;
  dbms_output.put_line('»ñÈ¡emailµØÖ·Êý£º' || v_email_list.count);
end;
/
»ñÈ¡emailµØÖ·Êý£º45
¡ñ    fetch into ÖÐʹÓÃbulk collect
declare
  type t_emp is table of employees%rowtype;
  v_emp_list t_emp;
  cursor c_emp is
    select * from employees where department_id = 50;
begin
  open c_emp;
  --ÔÚfetch intoÖÐʹÓÃbulk collect
  fetch c_emp bu ......

OracleÀ©Õ¹PL/SQL¼ò½é(Áù)

8.    bulk collect /forall
ʹÓÃbulk collect¿ÉÒÔ³É¿éµØ¶ÁÈ¡Êý¾Ý£¬Ëü¿ÉʹSQLÒýÇæÔÚ·µ»ØÊä³ö½á¹û¸øPL/SQLÒýÇæÖ®Ç°´óÅú°ó¶¨Êä³ö¼¯ºÏ¡£ÕâÑù¿ÉÒÔÒ»´ÎÐԵذÑÊý¾Ý¶¯Ì¬µØ×°Ôص½¼¯ºÏÖУ¬µ«bulk collectÐèÒª´óÁ¿ÄÚ´æ¡£bulk collect¿ÉÓÃÓÚselect into¡¢fetch intoºÍreturning intoÓï¾äÖС£
¡ñ    select intoÖÐʹÓÃbulk collect
declare
  type t_email is table of employees.email%type;
  v_email_list t_email;
begin
  select email bulk collect
    into v_email_list
    from employees
   where department_id = 50;
  dbms_output.put_line('»ñÈ¡emailµØÖ·Êý£º' || v_email_list.count);
end;
/
»ñÈ¡emailµØÖ·Êý£º45
¡ñ    fetch into ÖÐʹÓÃbulk collect
declare
  type t_emp is table of employees%rowtype;
  v_emp_list t_emp;
  cursor c_emp is
    select * from employees where department_id = 50;
begin
  open c_emp;
  --ÔÚfetch intoÖÐʹÓÃbulk collect
  fetch c_emp bu ......

ORACLEÅúÁ¿¸üÐÂËÄÖÖ·½·¨±È½Ï

¼¼Êõ
/AlexLin ·¢±íÓÚ2007-11-28, 17:39

ÏÖÔÚÎÒÃÇÓÐ2Õűí ÈçÏ£º
T1--´ó±í 10000±Ê T1_FK_ID
T2--С±í 5000±Ê   T2_PK_ID
T1ͨ¹ý±íÖÐ×Ö¶ÎIDÓëT2µÄÖ÷¼üID¹ØÁª
Ä£ÄâÊý¾ÝÈçÏ£º
--T2
ÓÐ
5000
±ÊÊý¾Ý
create table T2
as
select rownum id, a.*
 from all_objects a
 where 1=0;
-- Create/Recreate primary, unique and foreign key constraints
alter table T2
 add constraint T2_PK_ID primary key (ID);
insert /*+ APPEND */ into T2
select rownum id, a.*
      from all_objects a where rownum<=5000;
     
--T1
ÓÐ
10000
±ÊÊý¾Ý
          
create table T1
as
select rownum sid, T2.*
 from T2
 where 1=0;
-- Create/Recreate primary, unique and foreign key constraints
alter table T1
 add constraint T1_FK_ID foreign key (ID)
 references t2 (ID);
insert /*+ APPEND */ into T1
select rownum sid, T2.*
    ......

ÐÞ¸ÄORACLEÊý¾Ý¿âµÄ×Ö·û¼¯ÃüÁî

ÒÔDBAÉí·Ý½øÈëSQLPLUS
SQL> sqlplus sys/sys as sysdba;
……
SQL> shutdown immediate;
SQL> startup mount;
SQL> alter system enable restricted session;
SQL> alter system set job_queue_processes=0;
SQL> alter system set aq_tm_processes=0;
SQL> alter database open;
SQL> alter database character set internal_use AL32UTF8;(ZHS16GBK)
SQL> shutdown immediate;
SQL> startup;
ÕâÑù¾Í¿ÉÒÔ½²ORACLEµÄ×Ö·û¼¯ÐÞ¸ÄΪUTF8£¬Èç¹ûÐèÒªÐÞ¸ÄΪGBKÖ»Ð轫alter database character set internal_use AL32UTF8;(ZHS16GBK)Õâ¾ä×îºóµÄAL32UTF8ÐÞ¸ÄΪZHS16GBK¼´¿É¡£
......

oracle sys ÃÜÂëÐÞ¸Ä

Èç¹ûÍü¼ÇsysÃÜÂ룬¿ÉÒÔÓòÙ×÷ϵͳȨÏ޵Ǽ£ºdosÏÂÊäÈësqlplus / as sysdba;
ÊÚÓèÆÕͨÓû§(±ÈÈçscott»òÕß´´½¨ÐÂÓû§) alter userȨÏÞ»òÕßdba½ÇÉ«£¬µ±ÊÚÓèdba½Çɫʱ£º¿Éͨ¹ýselect * from v$pwfile_users²é¿´Óû§ÓÐÄÄЩ½ÇÉ«
    
  ´´½¨ÐÂÓû§test:   
  SQL>   create   user   test   identified   by   test   £»
  ÊÚÓèÆäÁ¬½Ó¼°ÐÞ¸ÄÓû§È¨ÏÞ£º   
  SQL>   grant   create   session,alter   user   to   test;   
ÔÚÖ»ÓÐsysÕË»§ÓµÓÐsysdbaÓësysoperµÄȨÏÞ¡£   
  SQL>   select   *   from   v$pwfile_users;   
   
  USERNAME                                      &nbs ......

Oracle ¹éµµÓë·Ç¹éµµµÄÇл»


Ê×ÏȲ鿴Êý¾Ý¿âÏÖÓÐģʽ¿ÉʹÓÃÒÔÏÂÓï¾ä
select name,log_mode from v$database;
Ò²¿ÉÒÔÓÃÏÂÃæµÄÓï¾ä
archive log list£»(¸Ã·½·¨ÐèÒªas sysdba)
SQL> archive log list
Database log mode ¡¡¡¡¡¡¡¡¡¡¡¡No Archive Mode
Automatic archival¡¡¡¡¡¡¡¡¡¡¡¡Disabled
Archive destination¡¡¡¡¡¡¡¡¡¡ /export/home/oracle/product/8.1.7/dbs/arch
Oldest online log sequence ¡¡ 28613
Current log sequence¡¡¡¡¡¡¡¡¡¡28615
SQL> SELECT NAME,LOG_MODE from V$DATABASE;
NAME¡¡¡¡¡¡¡¡LOG_MODE
--------¡¡¡¡------------
BIGSUN¡¡¡¡¡¡NOARCHIVELOG
¶ÔÓڷǹ鵵ģʽµÄÊý¾Ý¿â¸ÃΪ¹éµµÄ£Ê½£¨Ö÷ÒªÒÔOracle 10gΪ²Î¿¼£©Ê¹ÓÃÒÔϲ½Ö裺
1. SQL> alter system set log_archive_dest_1='location=/oracle/oracle10g/log/archive_log';
¸ÃÓï¾äº¬ÒåÊÇÈ·¶¨¹éµµÈÕÖ¾µÄ·¾¶£¬Êµ¼ÊÉÏOracle 10g¿ÉÒÔÉú³É¶à·ÝÒ»ÑùµÄÈÕÖ¾£¬±£´æ¶à¸öλÖã¬ÒÔ·À²»²â
ÀýÈçÔÙÌí¼ÓÒ»¸öÈÕ־λÖÿÉʹÓÃÒÔÏÂÓï¾ä
SQL>alter system set log_archive_dest_2='location=/oracle/oracle10g/log2/archive_log';
2.¹Ø±ÕÊý¾Ý¿â
SQL> shutdown immediate
3.Æô¶¯Êý¾Ýmount״̬£ ......

´«ÖDz¥¿ÍÎÒµÄOracle¸´Ï°¡®Â·¡¯

 ======================×î½üÔÚ¸´Ï°OracleÕâÊÇ×Ô¼º×ܽáµÄ
=============
======= OracleÖ®ÃÅ  =======
¡¾µÚÒ»²½£ºÊìϤoracle»ù±¾ÃüÁî¡¿
¡¾»ù±¾sqlplusÃüÁî¡¿
Æô¶¯oracle  ==  Æô¶¯oracleservice¡¢Listener·þÎñ
ʧ°ÜÔò²é¿´ÎļþhostÖµ
µÇ½oracle  ==  sqlplus  user/password  [sqlplus  system/feiyue]
³öÏÖSQL> ÔòµÇ½³É¹¦
Çл»Óû§    ==  connect  user/password  [connect scott/tiger]
µ¼Èë½Å±¾    ==  @ ·¾¶   [@ f:\a.txt]
²é¿´µ±Ç°Óû§==  show user
²é¿´±íµÄ½á¹¹==  desc[ribe] table
ÔÚ»º³åÇø±àд==  ed[it]
Ö´ÐÐÉÏÒ»ÌõsqlÓï¾ä  ==  / ·ûºÅ
ÉèÖÃÐÐ¿í    ==  set linesize 120
ÉèÖÃÒ³¸ß    ==  set pagesize 90
´ò¿ªÈÕÖ¾    ==  spool f:\aa.txt
¹Ø±ÕÈÕÖ¾    ==  spool off
ÃüÁî»»ÐÐд  ==  show -            user
±£´æ½Å±¾    ......
×ܼǼÊý:3994; ×ÜÒ³Êý:666; ÿҳ6 Ìõ; Ê×Ò³ ÉÏÒ»Ò³ [605] [606] [607] [608] 609 [610] [611] [612] [613] [614]  ÏÂÒ»Ò³ βҳ
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ