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;
/
Ïà¹ØÎĵµ£º
oracle±í¿Õ¼ä²Ù×÷Ïê½â
1
2
3×÷Õߣº À´Ô´£º ¸üÐÂÈÕÆÚ£º2006-01-04
5
6
7½¨Á¢±í¿Õ¼ä
8
9CREATE TABLESPACE data01
10DATAFILE '/ora ......
Èç¹û²»ÊÇÒòΪÕâ´Î»»hisµÄ·þÎñÆ÷£¬¹À¼ÆÎÒÒ»Ö±Ò²²»»áÓöµ½Õâ¸öÎÊÌ⣬һֱ¾õµÃoracleºÜ¸ßÉ¶ÔËüҲûÓÐÑо¿£¬¿ÉÕâ´Î»»·þÎñÆ÷£¬Æ«Æ«ÈÃÎÒÓöµ½ÁËÒ»¸öÎÊÌ⣬ÕÛÄ¥ÁËÕûÕûÁ½Ì죬ÖÕÓÚÔÚ×òÌì½â¾öµôÁË£¬¼Ç¼ÏÂÀ´£¬ÒÔ±¸ÒÔºóËùÓá£
ÖÜÎåÍíÉÏ»»ÁË·þÎñÆ÷£¬ÖÜÒ»ÔçÉÏ·¢ÏÖ³¬ÉùµÄ¹¤×÷Õ ......
SQL> select * from ta;
ID NAME
---------- --------------------
1 gorey
2 gorey2
SQL> select * from tb;
I ......
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 ......
ת×Ô£ºhttp://download.oracle.com/docs/cd/B13789_01/server.101/b10759/statements_6004.htm
Creating User-Defined Operators: Example
This example creates a very simple functional implementation of equality and then creates an operator that uses the function:
CREATE FUNCTION eq_f(a VARCHAR2, b VARCHA ......