Oracle ²éѯÓû§ÃûÓëÃÜÂëÏàͬµÄËã·¨
Óû§ÃûÓë¿ÚÁîÏàͬʹµÃ¿ÚÁîÒ×ÓÚ¼ÇÒäºÍ²Â²â£¬µ«¿ÚÁîÒ²ÈÝÒ×±»ÆÆÒ룬Òò´Ë×÷ΪÊý¾Ý¿â¹ÜÀíÔ±Ó¦¸Ã¼°Ê±¼ì²éÓû§µÄÉèÖ㬱ÜÃâÓû§ÃûÓë¿ÚÁîÏàͬ£¬Ïû³ý²»°²ÒòËØ¡£
´´½¨²éѯ×Ó³ÌÐò£º
SQL> create or replace procedure sys.find_the_same as
hex_password varchar2(30);
trans_password varchar2(30);
v_username varchar2(30);
cursor c1 is select username, password from dba_users;
begin
for i in c1 loop
--±£´æÓû§×î³õµÄ¿ÚÁîºÍÓû§Ãû£¬¿ÚÁîÒÔÊ®Áù½øÖƱíʾ¡£
hex_password:=i.password;
v_username:=i.username;
--½«¿ÚÁî¸Ä³ÉÓû§Ãû£¬ÏµÍ³½«Æä¼ÓÃܺóÒÔÊ®Áù½øÖƱíʾ¡£
execute immediate 'alter user' || v_username || 'identified by' || v_username;
--²éѯÐ޸ĺóµÄÒÔÊ®Áù½øÖƱíʾµÄÓû§¿ÚÁî¡£
select password into trans_password from dba_users where username=v_username;
--±È½ÏÐÞ¸ÄǰºÍÐ޸ĺóµÄ¿ÚÁî¡£
if trans_password=hex_password then
dbms_output.put_line(v_username);
else
--½«¿ÚÁî¸Ä»ØÔÀ´µÄÖµ
execute immediate 'alter user' || v_username || 'identified by values''' || hex_password || '''';
end if;
end loop;
end;
Ïà¹ØÎĵµ£º
OracleÖÐstart with...connect by prior×Ó¾äÓ÷¨
connect by Êǽṹ»¯²éѯÖÐÓõ½µÄ£¬Æä»ù±¾Óï·¨ÊÇ£º
select ... from tablename start with Ìõ¼þ1
connect by Ìõ¼þ2
where Ìõ¼þ3;
Àý£º
select * from table
start with org_id = 'HBHqfWGWPy'
connect by prior org_id = parent_id;
¼òµ ......
-- ±Ê¼ÇÖв¿·ÖÄÚÈÝ
SQL> create table tt2 as select * from employee;
Table created.
SQL> drop table tt2;
Table dropped.
SQL> select * from tt2;
select * from tt2
*
ERROR at line 1:
ORA-00942: table or view does not exist
SQL> flashback table tt2 to before drop;
Flashback comp ......
http://www.ej38.com/showinfo/Oracle-108709.html
Oracle 10g statisticÊý¾Ýͳ¼Æ,Oracle»á¸ù¾ÝÕâЩͳ¼ÆÐÅÏ¢À´¾ö¶¨ÊÇ×ßRBO(Rule-BasedOptimization)£¬»¹ÊÇ×ßCBO(Cost-BasedOptimization)£¬»áȥѡÔñÄÄÖÖÖ´Ðмƻ®¸ü»®Ëã,Ó°ÏìÊÇ·ñ×ßÏà¹ØµÄË÷ÒýµÈ.Èç¹ûÊÇCBOµÄ»°£¬ËüÒÀ¿¿×¼È·µÄ£¨»òÕß˵±È½Ï׼ȷµÄ£©Í³¼ÆÐÅÏ¢À´²úÉúÓÅ»¯µÄÖ ......
Á½ÖÖʱ¼äת»»¸ñʽ
plsql>
select to_date('2005-01-01 13:14:20','yyyy-MM-dd HH24:mi:ss') from dual;
select date‘'2005-01-01’ from dual;
°´¹æ¶¨¸ñʽ »ñµÃϵͳʱ¼ä ÈçÏ£º
select to_char(sysdate,'yyyy-MM-dd HH24:mm:ss') from dual
or
select to_char(sysdate,'yyyy-MM-dd) from dual
or
se ......
·ÖÇø±íά»¤µÄ³£ÓÃÃüÁ
ALTER TABLE
-- DROP -- PARTITION
-- ADD |
-- RENAME |
-- MODIFITY |
-- TRUNCATE |
-- SPILT |
-- MOVE |
-- EXCHANGE |
·ÖÇøË÷ÒýµÄ³£ÓÃά»¤ÃüÁ
ALTER INDEX
-- DROP -- PARTITION
-- REBUILD |
-- RENAME |
-- MODIFITY |
-- SPILT |
-- PARALLEL
-- UNUSABLE
1¡¢ALTER ......