Oracle ѧϰ£ºPL/SQLÑÐò½¥½øÈ«ÃæÑ§Ï°½Ì³Ì
¿Î³ÌÈý ´Ó¶à¸ö±íÖÐÌáÈ¡Êý¾Ý
¡¡¡¡
¡¡¡¡±¾¿ÎÖØµã£º
¡¡¡¡1¡¢SELECT from ¶à¸ö±í£¬Ê¹ÓõÈÁ¬½Ó»ò·ÇµÈÁ¬½Ó
¡¡¡¡2¡¢Ê¹ÓÃÍâÁ¬½ÓOUTER JOIN
¡¡¡¡3¡¢Ê¹ÓÃ×ÔÁ¬½Ó
¡¡¡¡×¢Ò⣺ÒÔÏÂʵÀýÖбêµã¾ùΪӢÎİë½Ç
¡¡¡¡Ò»¡¢Á¬½ÓµÄ¸ÅÄ
¡¡¡¡
¡¡¡¡ÊÇÖ¸Ò»¸ö´Ó¶à¸ö±íÖеÄÊý¾Ý½øÐеIJéѯ¡£Á¬½ÓÒ»°ãʹÓñíµÄÖ÷¼üºÍÍâ¼ü¡£
¡¡¡¡Á¬½ÓÀàÐÍ£º
¡¡¡¡µÈÁ¬½Ó¡¢²»µÈÁ¬½Ó¡¢ÍâÁ¬½Ó¡¢×ÔÁ¬½Ó
¡¡¡¡¶þ¡¢Cartesian product £º
¡¡¡¡Ö¸µÄÊǵ±JOINÌõ¼þ±»Ê¡ÂÔ»òÎÞЧʱ£¬ËùÓбíµÄÐÐ(½»²æ)¶¼±»SELECT³öÀ´µÄÏÖÏó¡£
¡¡¡¡Cartesian product¿ÉÒÔ²úÉú´óÁ¿µÄ¼Ç¼£¬³ý·ÇÊÇÄãÓÐÒâÈç´Ë£¬·ñÔòÓ¦¸Ã¼ÓÉÏijÖÖÌõ¼þÏÞÖÆ¡£
¡¡¡¡SQL> SELECT name, last_name
¡¡¡¡2 from s_dept, s_emp;
¡¡¡¡300 rows selected. ÆäÖÐÒ»¸ö±í12ÐУ¬Ò»¸ö±í25ÐС£
¡¡¡¡
¡¡¡¡Èý¡¢¼òµ¥Á¬½Ó²éѯ£º
¡¡¡¡SELECT table.column, table.column...
¡¡¡¡from table1, table2
¡¡¡¡WHERE table1.column1 = table2.column2;
¡¡¡¡
¡¡¡¡È磺SQL> SELECT s_emp.last_name, s_emp.dept_id,
¡¡¡¡2 s_dept.name
¡¡¡¡3 from s_emp, s_dept
¡¡¡¡4 WHERE s_emp.dept_id = s_dept.id;
¡¡¡¡×¢Ò⣺±íǰ׺µÄÖØÒªÐÔ£º
¡¡¡¡SQL> SELECT s_dept.id ”Department ID”,
¡¡¡¡2 s_region.id ”Region ID”,
¡¡¡¡3 s_region.name ”Region Name”
¡¡¡¡4 from s_dept, s_region
¡¡¡¡5 WHERE s_dept.region_id = s_region.id;
¡¡¡¡ÔÚWHERE ¶ÎÖУ¬Èç¹ûûÓÐǰ׺£¬Á½¸ö±íÖж¼ÓÐID×ֶΣ¬¾ÍÏԵõÄÄ£ÀâÁ½¿É£¬AMBIGUOUS¡£
¡¡¡¡ÕâÔÚʵ¼ÊÖÐÓ¦¸Ã¾¡Á¿±ÜÃâ¡£
¡¡¡¡WHERE ×Ö¶ÎÖУ¬»¹¿ÉÒÔÓÐÆäËûµÄÁ¬½ÓÌõ¼þ£¬ÈçÔÚÉÏÀýÖУ¬¼ÓÉÏ£º
¡¡¡¡INITCAP(s_dept.last_name) = ’Menchu’;
¡¡¡¡ÔÙÈ磺WHERE s_emp.dept_id = s_dept.id AND s_dept.region_id = s_region.id AND s_emp.commission_pct > 0;
¡¡¡¡
¡¡¡¡ËÄ¡¢±í±ðÃûALIAS£º
¡¡¡¡1¡¢Ê¹ÓñðÃû½øÐжà±í²éѯ ¡£
¡¡¡¡2¡¢½öÔÚÕâ¸ö²éѯÖÐÉúЧ£¬Ò»µ©ÓÃÁ˱í±ðÃû£¬¾Í²»ÄÜÔÙÓñíµÄÔÓеÄÃû×Ö½øÐÐÁ¬½Ó¡£
¡¡¡¡ÊµÀý£º
¡¡¡¡SQL> SELECT c.name ”Customer Name”,
¡¡¡¡2 c.region_id ”Region ID”,
¡¡¡¡3 r.name ”Region Name”
¡¡¡¡4 from s_customer c, s_region r
¡¡¡¡5 WHERE c.region_id = r.id;
¡¡¡¡±ðÃû×î¶à¿ÉÒÔ30¸ö×Ö·û£¬µ«µ±È»Ô½ÉÙÔ½ºÃ¡£×îºÃÒ²ÄÜÈÝÒ×ʶ±ð¡£
¡¡¡¡Îå¡¢·ÇµÈÁ¬½Ó
¡¡¡¡·ÇµÈÁ¬½ÓÒ»°ãÓÃÔÚûÓÐÃ÷È·µÄµÈ
Ïà¹ØÎĵµ£º
1.ÒÔsysdbaÉí·Ý進Èë
2.show parameter audit
3.alter system set audit_sys_operations = true scope = spfile
4.alter system set audit_trail = db,extended scope = spfile
5.startup force
6.show parameter audit
7.audit select table,insert table,delete ta ......
--ÐÐÁÐת»» ÐÐתÁÐ
DROP TABLE t_change_lc;
CREATE TABLE t_change_lc (card_code VARCHAR2(3), q NUMBER, bal NUMBER);
INSERT INTO t_change_lc
SELECT '001' card_code, ROWNUM q, trunc(dbms_random.VALUE * 100) bal from dual CONNECT BY ROWNUM <= 4
UNION
SELECT '002' card_code, ROWNUM q, trunc(d ......
Õâsql Óï¾äдµÄÕæµÄºÜ²»´í!
if object_id('[tb]') is not null drop table [tb]
go
create table [tb]([col1] bigint,[col2] varchar(6),[col3] varchar(6))
insert [tb]
select 130126200201000275,'ÍõÎÄϼ','½ù´¨´¨' union all
select 130126200201000275,'ÍõÎÄϼ','½ù澤' union all
select 13012620 ......
¿Î³Ì Ò» PL/SQL »ù±¾²éѯÓëÅÅÐò
¡¡¡¡
¡¡¡¡±¾¿ÎÖØµã£º
¡¡¡¡
¡¡¡¡1¡¢Ð´SELECTÓï¾ä½øÐÐÊý¾Ý¿â²éѯ
¡¡¡¡
¡¡¡¡2¡¢½øÐÐÊýѧÔËËã
¡¡¡¡
¡¡¡¡3¡¢´¦Àí¿ÕÖµ
¡¡¡¡
¡¡¡¡4¡¢Ê¹ÓñðÃûALIASES
¡¡¡¡
¡¡¡¡5¡¢Á¬½ÓÁÐ
¡¡¡¡
¡¡¡¡6¡¢ÔÚSQL PLUSÖб༻º³å£¬ÐÞ¸ÄSQL SCRIPTS
¡¡¡¡
¡¡¡¡7¡¢ORDER BY½øÐÐÅÅÐòÊä³ö¡£
¡¡¡¡
¡¡¡¡8¡¢Ê¹Ó ......