ORACLE ÅжϱíÊÇ·ñ´æÔÚ£¬´æÔÚÔòɾ³ý·½·¨
Oracl Êý¾Ý¿âҲûÓиö°ë¶Î±íÊÇ·ñ´æÔÚ£¬´æÔÚÔòɾ³ýµÄÓï¾ä£¬¾¹ýÑо¿ºÍ¸ÄдËûÈ˵ķ½·¨ÏÈÂ¡ÖØÍÆ³ö¾ø¶ÔÄÜÓÃÐÔµÄOracleÅжϱíÊÇ·ñ´æÔÚ£¬´æÔÚÔòɾ³ý·½·¨£¬ÔÚOracle10gÉÏÊÔÑéͨ¹ý¡£
·½·¨
CREATE OR REPLACE FUNCTION PROC_NAME(T_NAME IN VARCHAR2) RETURN NUMBER IS
V_CNT number;
V_SQL VARCHAR2(100);
BEGIN
V_CNT := 0;
SELECT COUNT(*) INTO V_CNT from USER_TABLES WHERE TABLE_NAME = T_NAME;
IF V_CNT = 0 THEN
RETURN 0;
else
V_SQL := 'DROP TABLE ' || T_NAME;
execute immediate V_SQL;
DBMS_OUTPUT.PUT_LINE(V_SQL ||' Ö´Ðгɹ¦');
RETURN 1;
END IF;
EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE(SQLCODE || SQLERRM);
DBMS_OUTPUT.PUT_LINE(V_SQL);
RETURN 3;
end;
µ÷ÓÃ
BEGIN
IF PROC_NAME(TABLE_NAME) = 0 THEN
DBMS_OUTPUT.PUT_LINE('OK');
END IF;
END;
/
Ïà¹ØÎĵµ£º
ÎﻯÊÓͼµÄ¿ìËÙˢвÉÓÃÁËÔöÁ¿µÄ»úÖÆ£¬ÔÚË¢ÐÂʱ£¬Ö»Õë¶Ô»ù±íÉÏ·¢Éú±ä»¯µÄÊý¾Ý½øÐÐˢС£Òò´Ë¿ìËÙË¢ÐÂÊÇÎﻯÊÓͼˢз½Ê½µÄÊ×Ñ¡¡£
µ«ÊÇ¿ìËÙˢоßÓн϶àµÄÔ¼Êø£¬¶øÇÒ¶ÔÓÚ²ÉÓÃON COMMITģʽ½øÐпìËÙˢеÄÎﻯÊÓͼ¸üÊÇÈç´Ë¡£¶ÔÓÚ°üº¬¾Û¼¯ºÍ°üº¬Á¬½ÓµÄÎﻯÊÓͼµÄ¿ìËÙˢлúÖÆ²¢²»Ïàͬ£¬¶øÇÒ¶ÔÓÚ¶à²ãǶÌ×µÄÎﻯÊÓͼµÄ¿ìËÙˢР......
Èç¹û²»ÊÇÒòΪÕâ´Î»»hisµÄ·þÎñÆ÷£¬¹À¼ÆÎÒÒ»Ö±Ò²²»»áÓöµ½Õâ¸öÎÊÌ⣬һֱ¾õµÃoracleºÜ¸ßÉ¶ÔËüҲûÓÐÑо¿£¬¿ÉÕâ´Î»»·þÎñÆ÷£¬Æ«Æ«ÈÃÎÒÓöµ½ÁËÒ»¸öÎÊÌ⣬ÕÛÄ¥ÁËÕûÕûÁ½Ì죬ÖÕÓÚÔÚ×òÌì½â¾öµôÁË£¬¼Ç¼ÏÂÀ´£¬ÒÔ±¸ÒÔºóËùÓá£
ÖÜÎåÍíÉÏ»»ÁË·þÎñÆ÷£¬ÖÜÒ»ÔçÉÏ·¢ÏÖ³¬ÉùµÄ¹¤×÷Õ ......
create or replace procedure getok
as
cursor mycur is select ids,name from aaa where name not in (select names from ok);
vempno aaa.ids%type;
vename aaa.name%type;
begin
open mycur;
loop
fetch mycur into vempno,vename;
exit when mycur%notfound;
if mycur%found then
insert ......
Á½¸ö×Ó²éѯ½øÐм¯ºÏÔËÐУ¬ Ìõ¼þ¾ÍÊÇÁ½¸ö²éѯµÄ×ֶθöÊýÒ»Ö£¬ÀàÐÍÒ»Ö£¬×Ö¶ÎÃû¿ÉÒÔ²»Í¬¡£
SQL> select * from ta;
ID NAME
---------- --------------------
1 gorey
&nb ......
TO_DATE¸ñʽ
Day:
dd number 12
dy abbreviated fri
day spelled out friday
ddspth spelled out, ordinal twelfth
Month:
mm number 03
mon abbreviated mar
month spelled out march
Year:
yy two digits 98  ......