ORACLE³ÌÐò°ü
³ÌÐò°ü
°üÖ÷Ìå/¹æ·¶Ãû×ÖÒ»Ñù
°üÖ÷Ìå/¹æ·¶ÖеĶÔÓ¦²ÎÊý±ØÐëÀàÐͼ°Ãû×ÖÒ»Ñù
Ö»ÄÜʹÓÃÇ¿ÀàÐ͵ÄREFÓαê
´´½¨³ÌÐò°ü¹æ·¶
create or replace package my_pack
is
procedure find_emp_proc(eno emp.empno%type);
function find_emp_fun(eno emp.empno%type) return emp.ename%type;
end my_pack;
SQL> ed
SQL> /
Package created
µ÷Óú¯Êý
SQL> select my_pack.find_emp_fun(7788) from dual;
select my_pack.find_emp_fun(7788) from dual
ORA-04068: ÒѶªÆú³ÌÐò°ü µÄµ±Ç°×´Ì¬
ORA-04067: δִÐУ¬package body "SCOTT.MY_PACK" ²»´æÔÚ
ORA-06508: PL/SQL: ÎÞ·¨ÔÚµ÷ÓÃ֮ǰÕÒµ½³ÌÐòµ¥Ôª
ORA-06512: ÔÚline 1
Ö´Ðд洢¹ý³Ì
SQL> exec my_pack.find_emp_proc(7788);
begin my_pack.find_emp_proc(7788); end;
ORA-04068: ÒѶªÆú³ÌÐò°ü µÄµ±Ç°×´Ì¬
ORA-04067: δִÐУ¬package body "SCOTT.MY_PACK" ²»´æÔÚ
ORA-06508: PL/SQL: ÎÞ·¨ÔÚµ÷ÓÃ֮ǰÕÒµ½³ÌÐòµ¥Ôª
ORA-06512: ÔÚline 2
´´½¨³ÌÐò°üÖ÷Ìå
create or replace package body my_pack
is
empname emp.ename%type;
procedure find_emp_proc(eno emp.empno%type)
is
begin
select ename into empname from emp where empno=eno;
dbms_output.put_line(empname);
end;
function find_emp_fun(eno emp.empno%type) return emp.ename%type
is
begin
select ename into empname from emp where empno=eno;
&nb
Ïà¹ØÎĵµ£º
¼ÙÉèÓÐÕÅ±í£¬½Ðtable1£¬ÀïÃæÓÐ5000ÍòÐÐÊý¾Ý£¬¼ÙÉèÔ¤¼ÆÈ«±íɨÃè1´ÎÐèÒª1¸öСʱ£¬ÎÒÃÇ´Ó¹ý³ÌÀ´¿´£º
1¡¢ÔÚ1µãÖÓ£¬ÓиöÓû§A·¢³öÁËselect * from table1;´Ëʱ²»¹Ü½«À´table1Ôõô±ä»¯£¬ÕýÈ·µÄ½á¹ûÓ¦¸ÃÊÇÓû§A»á¿´µ½ÔÚ1µãÖÓÕâ¸öʱ¿ÌµÄÄÚÈÝ¡£Õâ¸öÊÇûÓÐÒÉÎʵġ£
2¡¢ÔÚ1µã30·Ö£¬ÓиöÓû§BÖ´ÐÐÁËupdateÃüÁ¸üÐÂÁËtable1±íÖеĵ ......
OracleÌṩµÄÐòºÅº¯Êý:
ÒÔemp±íΪÀý:
1: rownum ×î¼òµ¥µÄÐòºÅ µ«ÊÇÔÚorder by֮ǰ¾ÍÈ·¶¨Öµ.
select rownum,t.* from emp t order by ename
ÐÐÊý
ROWNUM
EMPNO
ENAME
JOB
MGR
HIREDATE
SAL
COMM
DEPTNO
1
11
7876
ADAMS
CLERK
7788
1987-5-23
1100
¡¡
20
2
2
7499
ALLEN
SALESMAN
7698
......
UpSert¹¦ÄÜ£º
MERGE <hint> INTO <table_name>
USING <table_view_or_query>
ON (<condition>)
WHEN MATCHED THEN <update_clause>
WHEN NOT MATCHED THEN <insert_clause>;
MultiTable Inserts¹¦ÄÜ£º
Multitable inserts allow a single INSERT INTO .. SELECT statement to ......
--ÈÕÆÚת»»ºÁÃë
SELECT TO_NUMBER(TO_DATE('2005-03-29 12:30:45', 'YYYY-MM-DD HH24:MI:SS') -
TO_DATE('1970-01-01 8:0:0', 'YYYY-MM-DD HH24:MI:SS')) * 24 * 60 * 60 * 1000
from DUAL;
--ºÁÃëת»»ÈÕÆÚ
SELECT TO_CHAR(1112070645000 / (1000 * 60 * 60 * 24) +
TO_ ......
ORACLE Êý¾Ý¿â¶ÔÏó
——Ë÷Òý
q Ë÷ÒýÊÇÓë±íÏà¹ØµÄÒ»¸ö¿ÉÑ¡½á¹¹
q ÓÃÒÔÌá¸ß SQL Óï¾äÖ´ÐеÄÐÔÄÜ
q ¼õÉÙ´ÅÅÌI/O
q ʹÓà CREATE INDEX Óï¾ä´´½¨Ë÷Òý
q &n ......