±±´óÇàÄñoracleѧϰ±Ê¼Ç18
Òì³£
Ô¤¶¨ÒåÒì³£
oracleΪ³£¼û´íÎóÔ¤¶¨Òå
ÔÚDBMS_STANDARD³ÌÐò°üÖÐÌṩÁËÕâЩ¶¨Òå
²»ÐèÒªÏÔʾÉùÃ÷
declare
sex student.stu_sex%type;
begin
select stu_sex into sex from student;
dbms_output.put_line('sex:'||sex);
exception
when no_data_found then
dbms_output.put_line('no such student!');
when too_many_rows then
dbms_output.put_line('too many rows selected!');
when others then
dbms_output.put_line('other error!');
end;
Ô¤¶¨ÒåÒì³£Ãû
²úÉúÔÒò
ACCESS_INTO_NULL
䶨Òå¶ÔÏó
CASE_NOT_FOUND
CASEÖÐÈôΪ°üº¬ÏàÓ¦µÄWHEN£¬²¢ÇÒûÓÐÉèÖÃELSEʱ
COLLECTION_IS_NULL
¼¯ºÏÔªËØδ³õʼ»¯
CURSER_ALREADY_OPEN
ÓαêÒѾ´ò¿ª
DUP_VAL_ON_INDEX
ΨһË÷Òý¶ÔÓ¦µÄÁÐÉÏÓÐÖظ´Öµ
INVALID_CURSOR
ÔÚ²»ºÏ·¨µÄÓαêÉϽøÐвÙ×÷
INVALID_NUMBER
ÄÚǶµÄSQLÓï¾ä²»Äܽ«×Ö·ûת»»ÎªÊý×Ö
NO_DATA_FOUND
ʹÓÃselect into δ·µ»ØÐУ¬»òÓ¦ÓÃË÷Òý±íδ³õʼ»¯ÔªËØʱ
TOO_MANY_ROWS
Ö´ÐÐselect intoʱ»ú¹ý¼¯³¬¹ýÒ»ÐÐ
ZERO_DIVIDE
³ýÊýΪ0
SUBSCRIPT_BEYOND_COUNT
ÔªËØϱ곬¹ýǶÌ×±í»òVARRAYµÄ×î´óÖµ
SUBSCRIPT_OUTSIDE_LIMIT
ʹÓÃǶÌ×±í»òVARRAYʱ½«Ï±êÖƶ¨Îª¸ºÊý
VALUE_ERROR
¸³ÖµÊ±£¬±äÁ¿³¤¶È²»×ãÒÔÈÝÄÉʵ¼ÊÊý¾Ý
LOGIN_DENIED
PL/SQL Ó¦ÓóÌÐòÁ¬½Óµ½ oracle Êý¾Ý¿âʱ£¬ÌṩÁ˲»ÕýÈ·µÄÓû§Ãû»òÃÜÂë
NOT_LOGGED_ON
PL/SQL Ó¦ÓóÌÐòÔÚûÓÐÁ¬½Ó oralce Êý¾Ý¿âµÄÇé¿öÏ·ÃÎÊÊý¾Ý
PROGRAM_ERROR
PL/SQL ÄÚ²¿ÎÊÌ⣬¿ÉÄÜÐèÒªÖØ×°Êý¾Ý×ֵ䣦 pl./SQL ϵͳ°ü
ROWTYPE_MISMATCH
ËÞÖ÷Óαê±äÁ¿Óë PL/SQL Óαê±äÁ¿µÄ·µ»ØÀàÐͲ»¼æÈÝ
SELF_IS_NULL
ʹÓöÔÏóÀàÐÍʱ£¬ÔÚ null ¶ÔÏóÉϵ÷ÓöÔÏó·½·¨
STORAGE_ERROR
ÔËÐÐ PL/SQL ʱ£¬³¬³öÄÚ´æ¿Õ¼ä
SYS_INVALID_ID
ÎÞЧµÄ ROWID ×Ö·û´®
TIMEOUT_ON_RESOURCE
Oracle Ôڵȴý×ÊԴʱ³¬Ê±
Óû§×Ô¶¨ÒåÒì³£
ÉùÃ÷ÀàÐÍΪExceptionÀàÐÍ
Ö»ÄÜÖ÷¶¯ÓÉraiseÅ׳ö
declare
Dup_Value Exception;
icount int := 0;
begin
select count(*) into icount from student;
if icount > 0 then
Ïà¹ØÎĵµ£º
×ܽáÁËÒ»ÏÂɾ³ýÖظ´¼Ç¼µÄ·½·¨£¬ÒÔ¼°Ã¿ÖÖ·½·¨µÄÓÅȱµã¡£
¼ÙÉè±íÃûΪTbl£¬±íÖÐÓÐÈýÁÐcol1£¬col2£¬col3£¬ÆäÖÐcol1£¬col2ÊÇÖ÷¼ü£¬²¢ÇÒ£¬col1£¬col2ÉϼÓÁËË÷Òý¡£
1¡¢Í¨¹ý´´½¨ÁÙʱ±í
¿ÉÒÔ°ÑÊý¾ÝÏȵ¼Èëµ½Ò»¸öÁÙʱ±íÖУ¬È»ºóɾ³ýÔ±íµÄÊý¾Ý£¬ÔÙ°ÑÊý¾Ýµ¼»ØÔ±í£¬SQLÓï¾äÈçÏ£º
creat table tbl_tmp (select distinct* from tb ......
ORACLE 10 ѧϰ±Ê¼Ç-µÚ2½Ú-ÃüÁî¡£
1. inner join / left join/ right join / full join
select a.dname, b.ename from dept a, emp b where a.deptno=b.deptno and a.deptno=10;
select a.dname, b.ename from dept a inner join emp b
on a.deptno=b.deptno and a.deptno=10;
select dname,ename from dept natural ......
²é¿´ÕýÔÚÖ´ÐеÄsqlÓï¾ä
SELECT osuser, username, sql_text from v$session a, v$sqltext b where a.sql_address =b.address order by address, piece;
²¶×½ÔËÐкܾõÄSQL
select username,sid,opname, round(sofar*100 / totalwork,0) || '%' as progress, time_remaining,sql_text from v$session_longops , v$ ......
oracle Óαê
¹Ø¼ü×Ö: oracle Óαê
1. Óαê: ÈÝÆ÷£¬´æ´¢SQLÓï¾äÓ°ÏìÐÐÊý¡£
2. ÓαêÀàÐÍ: ÒþʽÓα꣬ÏÔʾÓα꣬REFÓαꡣÆäÖУ¬ÒþʽÓαêºÍÏÔʾÓαêÊôÓÚ¾²Ì¬Óα꣨ÔËÐÐÇ°½«ÓαêÓëSQLÓï¾ä¹ØÁª£©,REFÓαêÊôÓÚ¶¯Ì¬Óαê(ÔËÐÐʱ½«ÓαêÓëSQLÓï¾ä¹ØÁª)¡ ......
OracleË÷Òý·ÖÇøÔÓ̸
<> OracleÊý¾Ý¿âÖУ¬ÓÐÁ½ÖÖÀàÐ͵ķÖÇøË÷Òý£¬È«¾ÖË÷ÒýºÍ±¾µØË÷Òý£¬ÆäÖб¾µØË÷ÒýÓÖ¿ÉÒÔ·ÖΪ±¾µØǰ׺Ë÷ÒýºÍ±¾µØ·Çǰ׺Ë÷Òý¡£ÏÂÃæ¾Í·Ö±ð¿´¿´Ã¿ÖÖÀàÐ͵ÄË÷Òý¸÷×ÔµÄÌص㡣
È«¾ÖË÷ÒýÒÔÕû¸ö±íµÄÊý¾ÝΪ¶ÔÏó½¨Á¢Ë÷Òý£¬Ë÷Òý·ÖÇøÖеÄË÷ÒýÌõÄ¿¼È¿ÉÄÜÊÇ»ùÓÚÏàͬµÄ¼üÖµµ«ÊÇÀ´×Ô²»Í¬µÄ·ÖÇø£¬Ò²¿ÉÄÜÊǶà¸ö²»Í¬¼üÖ ......