Oracle µÄdrop table if exists¹¦ÄÜ
Oracle´´½¨±íʱ£¬³£Óöµ½ÏÈɾ³ýºó´´½¨µÄÇé¿ö£¬¶øËüÓÖûÓÐdrop table... if existsÓï·¨¡£Îª´Ë¿ÉÒÔʹÓÃuser_objectsÊý¾Ý×ÖµäºÍ¶¯Ì¬sqlÓï¾äʵÏÖÀàËÆµÄ¹¦ÄÜ£¬ÈçÏÂËùʾ£º
create or replace procedure proc_dropifexists(
p_table in varchar2
) is
v_count number(10);
begin
select count(*)
into v_count
from user_objects
where object_name = upper(p_table);
if v_count > 0 then
execute immediate 'drop table ' || p_table ||' purge';
end if;
end;
/
--µ÷ÓÃ
exec proc_dropifexists('mytable');
Ïà¹ØÎĵµ£º
ORACLEÖ÷ÒªÓÉÁ½²¿·Ö×é³É£ºInstanceºÍDatabase¡£InstanceÊÇÖ¸Ò»×éºǫ́½ø³Ì/Ï̺߳ÍÒ»¿é¹²ÏíÄÚ´æÇøÓò£¬¶øDatabaseÊÇÖ¸´æ´¢ÔÚ´ÅÅÌÉϵÄÒ»×éÎïÀíÎļþ¡£
ORACLEÊý¾Ý¿âµÄÆô¶¯Ö÷Òª·Ö3¸ö²½Ö裺
1¡¢Æô¶¯µ½nomount״̬£»
2¡¢Æô¶¯µ½mount״̬£»
3¡¢Æô¶¯µ½open״̬¡£
ÏÂÃæ·ÖÎöÒ»ÏÂÆô¶¯µÄ¸÷¸ö²½Ö裺
Ò»¡¢Æô¶¯µ½nomount״̬
......
ËäÈ»ÍøÉÏÓкܶ࣬µ«»¹ÊÇÔÚÕâÀï¼ÇÏ·½±ã²éÕÒ£º
SELECT i.ksppinm NAME, i.ksppity TYPE, v.ksppstvl VALUE, v.ksppstdf isdefault
from x$ksppi i, x$ksppcv v
WHERE i.indx = v.indx
AND i.ksppinm LIKE '\_%&par%' ESCAPE '\';
......
1.Êý¾Ý¿â¶ÀÁ¢ÐÔ
½«Ó¦ÓôÓÊý¾Ý¿âA ÒÆÖ²µ½Êý¾Ý¿âB ʱ£¬ÎÒʱ³£Óöµ½ÕâÖÖÎÊÌ⣺ӦÓÃÔÚÊý¾Ý¿âA ÉÏÔ±¾ÎÞи¿É»÷£¬µ½ÁË
Êý¾Ý¿âB ÉÏÈ´²»Äܹ¤×÷£¬»òÕß±íÏֵúÜÀëÆæ¡£¿´µ½ÕâÖÖÇé¿ö£¬ÎÒÃǵĵÚÒ»¸öÏë·¨ÍùÍùÊÇ£¬Êý¾Ý¿âB ÊÇÒ»¸ö
“²»ºÃµÄ”Êý¾Ý¿â¡£¶øÕæÕýµÄÔÒòÆäʵÊÇÊý¾Ý¿âB µÄ¹¤×÷·½Ê½ÍêÈ«²»Í¬¡£Ã»ÓÐÄĸöÊý¾Ý¿âÊÇ´íµÄ ......
OracleÖк¯ÊýÒÔǰ½éÉܵÄ×Ö·û´®´¦Àí£¬ÈÕÆÚº¯Êý£¬Êýѧº¯Êý,ÒÔ¼°×ª»»º¯ÊýµÈµÈ£¬»¹ÓÐÒ»ÀຯÊýÊÇͨÓú¯Êý¡£Ö÷ÒªÓУºNVL,NVL2,NULLIF,COALESCE£¬Õ⼸¸öº¯ÊýÓÃÔÚ¸÷¸öÀàÐÍÉ϶¼¿ÉÒÔ¡£
ÏÂÃæ¼òµ¥½éÉÜһϼ¸¸öº¯ÊýµÄÓ÷¨¡£
ÔÚ½éÉÜÕâ¸ö֮ǰÄã±ØÐëÃ÷°×ʲôÊÇoracleÖеĿÕÖµnull
1.NVLº¯Êý
NVLº¯ÊýµÄ¸ñʽÈçÏ£ºNVL(expr1,expr2)
º¬ÒåÊ ......
--JOBS
DECLARE
X NUMBER;
BEGIN
SYS.DBMS_JOB.SUBMIT(job => X,
what => 'sp_test();',
next_date => to_date('28-04-2009 11:58:00',
'dd/mm/yyyy hh24:mi:ss'),
interval => 'SYSDATE+1');
END;
/
commit;
select to_char(sysdate-90,'yyyymmdd') from dual; --Ñ¡ÔñÈÕÆÚ
select * from ......