µ¼³öºÍµ¼ÈëʵÓóÌÐò
q µ¼³öºÍµ¼ÈëʵÓóÌÐòÓÃÓÚʵʩÊý¾Ý¿âµÄÂß¼±¸·ÝºÍ»Ö¸´
q µ¼³öʵÓóÌÐò½«Êý¾Ý¿âÖеĶÔÏó¶¨ÒåºÍÊý¾Ý±¸·Ýµ½Ò»¸ö²Ù×÷ϵͳ¶þ½øÖÆÎļþÖÐ
q µ¼ÈëʵÓóÌÐò¶ÁÈ¡¶þ½øÖƵ¼³öÎļþ²¢½«¶ÔÏóºÍÊý¾ÝÔØÈëÊý¾Ý¿âÖÐ
q
q µ¼³öºÍµ¼ÈëʵÓóÌÐòµÄÌØµãÓУº
q ¿ÉÒÔ°´Ê±¼ä±£´æ±í½á¹¹ºÍÊý¾Ý
q ÔÊÐíµ¼³öÖ¸¶¨µÄ±í£¬²¢ÖØÐµ¼È뵽еÄÊý¾Ý¿âÖÐ
q ¿ÉÒÔ°ÑÊý¾Ý¿âÇ¨ÒÆµ½ÁíÍâһ̨Òì¹¹·þÎñÆ÷ÉÏ
q ÔÚÁ½¸ö²»Í¬°æ±¾µÄOracleÊý¾Ý¿âÖ®¼ä´«ÊäÊý¾Ý
q ÔÚÁª»ú״̬ϽøÐб¸·ÝºÍ»Ö¸´
q ¿ÉÒÔÖØÐÂ×éÖ¯±íµÄ´æ´¢½á¹¹£¬¼õÉÙÁ´½Ó¼°´ÅÅÌË鯬
µ¼³öµ¼Èëģʽ£º
ÍêÈ«Êý¾Ý¿â µ¼³öºÍµ¼ÈëÕû¸öÊý¾Ý¿âÖеÄËùÓжÔÏó
±í & ......
´¥·¢Æ÷
q ´¥·¢Æ÷Êǵ±Ìض¨Ê¼þ³öÏÖʱ×Ô¶¯Ö´ÐеĴ洢¹ý³Ì
q ÌØ¶¨Ê¼þ¿ÉÒÔÊÇÖ´ÐиüеÄDMLÓï¾äºÍDDLÓï¾ä
q ´¥·¢Æ÷²»Äܱ»ÏÔʽµ÷ÓÃ
q ´¥·¢Æ÷µÄ¹¦ÄÜ£º
q ×Ô¶¯Éú³ÉÊý¾Ý
q ×Ô¶¨Ò帴ÔӵݲȫȨÏÞ
q ÌṩÉó¼ÆºÍÈÕÖ¾¼Ç¼
q ÆôÓø´ÔÓµÄÒµÎñÂß¼
´´½¨´¥·¢Æ÷µÄÓï·¨£º
CREATE [OR REPLACE] TRIGGER trigger_name
AFTER | BEFORE | INSTEAD OF
[INSERT] [[OR] UPDATE [OF column_list]]
[[OR] DELETE]
ON table_or_view_name
[REFERENCING {OLD [AS] old / NEW [AS] new}]
[FOR EACH ROW]
[WHEN (condition)]
pl/sql_block;
´¥·¢Æ÷ÓÉÈý²¿·Ö×é³É£º
q ´¥·¢Æ÷Óï¾ä£¨Ê¼þ£©
q ¶¨Ò弤»î´¥·¢Æ÷µÄ DML ʼþºÍ DDL ʼþ
q ´¥·¢Æ÷ÏÞÖÆ
q Ö´Ðд¥·¢Æ÷µÄÌõ¼þ£¬¸ÃÌõ¼þ± ......
ORACLEÊý¾Ý¿â¶ÔÏó
——ͬÒå´Ê¡¢ÐòÁС¢ÊÓͼ
ͬÒå´Ê£ºÍ¬Òå´ÊÊÇÏÖÓжÔÏóµÄ±ðÃû
¼ò»¯SQLÓï¾ä
Òþ²Ø¶ÔÏóµÄÃû³ÆºÍËùÓÐÕß
Ìṩ¶Ô¶ÔÏóµÄ¹«¹²·ÃÎÊ
ͬÒå´Ê·ÖΪ˽ÓÐͬÒå´ÊºÍ¹«ÓÐͬÒå´Ê
˽ÓÐͬÒå´ÊÖ»ÄÜÔÚÆäģʽÄÚ·ÃÎÊ£¬ÇÒ²»ÄÜÓ뵱ǰģʽµÄ¶ÔÏóͬÃû¡£
¹«ÓÐͬÒå´Ê¿É±»ËùÓеÄÊý¾Ý¿âÓû§·ÃÎÊ¡£
ÒÔ SYS Óû§µÇ¼
SQL> CONNECT SYS/SYS AS SYSDBA;
Connected to Oracle9i Enterprise Edition Release 9.2.0.1.0
Connected as SYS
´´½¨Ë½ÓÐͬÒå´Ê
SQL> CREATE SYNONYM synemp FOR SCOTT.emp;
Synonym created
SQL> select * from synemp;
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
----- ---------- --------- ----- ----------- --------- --------- ------
7369 SMITH CLERK 7902 1980-12-17 800.00 & ......
OleDbConnectioncon=newOleDbConnection(cnnstr);
try
{
con.Open();
}
catch
{}
OleDbCommandcmd=newOleDbCommand(strSQL,con);
System.Data.OleDb.OleDbDataReaderdr=cmd.ExecuteReader();
while(dr.Read())
{
stringdd=dr["gggg"].ToString();
byte[]ooo=(byte[])dr["hhhh"];
stringstr;
str=System.Text.Encoding.Unicode.GetString(ooo);
this.textBox1.Text=str;
}
}
//ÏòÊý¾Ý¿âÖÐдÈë
private void button1_Click(object sender, EventArgs e)
{
oracleConnection1.Open();
OracleCommand cmd = new OracleCommand("UPDATE TEST SET F2 =:blob where F1=:sn ", oracleConnection1);
......
ÓбíA(×Ö¶ÎA1,A2)ºÍ±íB(×Ö¶ÎB1,B2).
×Ö¶ÎA2,B2É϶¼ÓÐË÷Òý.
A,B ±íÁª²é
sql1 Õâ¸ösql ·Ç³£¿ì 2ÃëµÄÑù×Ó
select * from A,B where A.A1=B.B1(+) and A2='Öµ1'
sql2 Õâ¸ösql Âýµ½ÈÃÈËÎÞ·¨ÈÌÊÜ
select * from A,B where A.A1=B.B1(+) and B2='Öµ1'
ÍâÁªÒÔºó ±íBÉϵÄË÷Òý²»Æð×÷ÓÃÁË.
Èç¹û»»³ÉÄÚÁª ËٶȺܿì.
select * from A,B where A.A1=B.B1 and B2='Öµ1'
1.ÎﻯÊÓͼ
ÆÕͨÊÓͼ²»¿ÉÒÔ½¨Ë÷Òý¡£ÎﻯÊÓͼ¿ÉÒÔ½¨Ë÷Òý¡£
CREATE MATERIALIZED VIEW m_tb REFRESH WITH ROWID as select * from tb;
create index idx_tb on m_tb(col1);
2.ÓÃhintÓï¾äÇ¿ÖÆÖ¸¶¨ÓÅ»¯Æ÷ÀàÐÍ
select /*+index(A,idx_a1) index(B,idx_b1)*/* from A,B where A.A1=B.B1(+) and B1='Öµ1'
2010-02-16 16:04:51 BY TZC ......
¸ãoracle¶¼»á¾³£Åöµ½rowid£¬±¾ÎÄÊDZÊÕ߸ù¾ÝÍøÉϸ÷λµÄÎÄÕ£¬¼ÓÉÏ×Ô¼ºÑ§Ï°ÖеÄÌå»á£¬×Ü½á¶ø³É¡£
Ò».rowid¼ò½é
rowid¾ÍÊÇΨһ±êÖ¾¼Ç¼ÎïÀíλÖõÄÒ»¸öid£¬ÔÚoracle 8°æ±¾ÒÔǰ£¬rowidÓÉfile#+block#+row#×é³É£¬Õ¼ÓÃ6¸öbytesµÄ¿Õ¼ä£¬10 bit µÄ file# £¬22bit µÄ block# £¬16 bit µÄ row#¡£
´Óoracle 8¿ªÊ¼rowid±ä³ÉÁËextend rowid£¬ÓÉdata_object_id#+rfile#+block#+row#×é³É£¬Õ¼ÓÃ10¸öbytesµÄ¿Õ¼ä£¬ 32bitµÄ data_object_id#,10 bit µÄ rfile#,22bit µÄ block#,16 bit µÄ row#.ÓÉÓÚrowidµÄ×é³É´Ófile#±ä³ÉÁËrfile#£¬ËùÒÔÊý¾ÝÎļþÊýµÄÏÞÖÆÒ²´ÓÕû¸ö¿â²»Äܳ¬¹ý1023¸ö±ä³ÉÁËÿ¸ö±í¿Õ¼ä²»Äܳ¬¹ý1023¸ö Êý¾ÝÎļþ¡£
˵ÁËrowidµÄ×é³É£¬ÄÇôÎÒÃÇÔÙÀ´¿´¿´rowidÔÚË÷ÒýÀïÃæÕ¼ÓõÄ×Ö½ÚÊýÓÖÊÇʲôÑù×ӵġ£ÔÚoracle 8ÒÔǰË÷ÒýÖд洢µÄrowidÕ¼ÓÃ×Ö½ÚÊýÒ²ÊÇ6bytes,ÔÚoracle8Ö®ºó£¬ËäÈ»oracleʹÓÃÁËextend rowid£¬µ«ÊÇÔÚÆÕͨË÷ÒýÀïÃæÒÀÈ»´æ´¢ÁËbytesµÄrowid£¬Ö»ÓÐÔÚglobal indexÖд洢µÄÊÇ10bytesµÄextend rowid ......