oracleÖØÔØ²Ù×÷·ûµÄÀý×Ó
ת×Ô£º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 VARCHAR2) RETURN NUMBER AS
BEGIN
IF a = b THEN RETURN 1;
ELSE RETURN 0;
END IF;
END;
/
CREATE OPERATOR eq_op
BINDING (VARCHAR2, VARCHAR2)
RETURN NUMBER
USING eq_f;
Ïà¹ØÎĵµ£º
ÔÚʵ¼ÊµÄÊý¾Ý¿âÓ¦ÓÃÖУ¬ÎÒÃǾ³£Óöµ½ÕâÑùÒ»¸öÎÊÌ⣬Á¬½Óµ½OracleÊý¾Ý¿âµÄÓû§ÔÚ×÷ÁËÒ»´Î²Ù×÷ºó£¬ÔÙҲûÓкóÐø²Ù×÷£¬µ«È´³¤Ê±¼äûÓкÍÊý¾Ý¿â¶Ï¿ªÁ¬½Ó¡£¶ÔÓÚÒ»¸öСÐ͵ÄÓ¦ÓÃϵͳÀ´½²£¬±¾ÉíµÄÁ¬½ÓÊýÄ¿¾ÍÓÐÏÞ£¬ÕâºÃÏñûÓÐʲôÑÏÖØµÄºó¹û£¬µ«Èç¹û¶ÔÓÚÒ»¸ö´óÐ͵ÄÊý¾Ý¿âÓ¦Óá£Èç˰Îñ¡¢¹¤É̵ȣ¬Èç¹ûÊý¾Ý¿âµÄÁ¬½ÓÊýÄ¿ºÜ¶à£¬¶ÔÓÚÊý¾Ý¿â ......
1¡¢´æ´¢¹ý³ÌºÍº¯ÊýµÄÇø±ð¡£
£¨1£©¡¢´æ´¢¹ý³ÌÊÇ×÷ΪPL/SQLÓï¾äÖ´ÐУ¬¶øº¯ÊýÊÇ×÷Ϊ±í´ïʽµÄÒ»²¿·Öµ÷Óã»
£¨2£©¡¢´æ´¢¹ý³ÌÔÚ¹æ¸ñ˵Ã÷Öв»°üº¬returnÓï¾ä£¬¶øÔÚº¯ÊýµÄ¹æ¸ñ˵Ã÷Õâ°üº¬return×Ӿ䣻
(3)¡¢´æ´¢¹ý³Ì²»·µ»ØÖµ£¬¶øº¯Êý±ØÐë·µ»ØÖµ£»
£¨4£©¡¢ÔÚ´æ´¢¹ý³ÌÖпÉÒÔ°üº¬returnÓï¾ä£¬µ«²»·µ»ØÈκÎÖ ......
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 ......