锘??xml version="1.0" encoding="utf-8" standalone="yes"?>777亚洲精品乱码久久久久久,亚洲国产成人久久综合野外,最新亚洲成av人免费看http://www.tkk7.com/tfzhu/category/43806.html姣忓ぉ榪涙涓鐐圭偣錛?/description>zh-cnSun, 25 Jul 2010 06:09:15 GMTSun, 25 Jul 2010 06:09:15 GMT60recursion閫掑綊http://www.tkk7.com/tfzhu/archive/2010/07/24/327017.html鏂偣鏂偣Sat, 24 Jul 2010 08:25:00 GMThttp://www.tkk7.com/tfzhu/archive/2010/07/24/327017.htmlhttp://www.tkk7.com/tfzhu/comments/327017.htmlhttp://www.tkk7.com/tfzhu/archive/2010/07/24/327017.html#Feedback0http://www.tkk7.com/tfzhu/comments/commentRss/327017.htmlhttp://www.tkk7.com/tfzhu/services/trackbacks/327017.html--閫掑綊錛屾爲鐘剁粨鏋勭殑瀛樺偍涓庡睍紺?br /> drop table article;
create table article
(
id number primary key,
count varchar2(4000),
pid number,
isleaf number(1), --0 浠h〃闈炲彾瀛愯妭鐐癸紝1浠h〃鍙跺瓙鑺傜偣
alevel number(2)
);

insert into article values(1,'铓傝殎澶ф垬澶ц薄',0,0,0);
insert into article values(2,'澶ц薄琚墦瓚翠笅',1,0,1);
insert into article values(3,'铓傝殎涔熶笉濂借繃',2,1,2);
insert into article values(4,'鐬庤',2,0,2);
insert into article values(5,'娌℃湁鐬庤',4,1,3);
insert into article values(6,'鎬庝箞鍙兘',1,0,1);
insert into article values(7,'鎬庝箞娌℃湁鍙兘',6,1,2);
insert into article values(8,'鍙兘鎬ф槸寰堝ぇ鐨?,6,1,2);
insert into article values(9,'澶ц薄榪涘尰闄簡',2,0,2);
insert into article values(10,'鎶ゅ+鏄殏铓?,9,1,3);
commit;

铓傝殎澶ф垬澶ц薄
    澶ц薄琚墦瓚翠笅浜?br />         铓傝殎涔熶笉濂借繃
        鐬庤
            娌℃湁鐬庤
        澶ц薄榪涘尰闄簡
            鎶ゅ+鏄殏铓?br />     鎬庝箞鍙兘
        鎬庝箞娌℃湁鍙兘
        鍙兘鎬ф槸寰堝ぇ鐨?br />  

--鐢ㄥ瓨鍌ㄨ繃紼嬪睍鐜版爲鐘剁粨鏋勩?br /> create or replace procedure p(v_pid article.pid%type,v_level binary_integer) is
  cursor c is select * from article where pid = v_pid;
  v_preStr varchar2(1024) := '';
begin
  for i in 0..v_level loop
    v_preStr := v_preStr || '****';
  end loop;

  for v_article in c loop
    dbms_output.put_line(v_preStr ||v_article.cont);
    if(v_article.isleaf=0) then
       p(v_artile.id,v_levle +1);
    end if;
  end loop;
end;



鏂偣 2010-07-24 16:25 鍙戣〃璇勮
]]>
trigger 瑙﹀彂鍣?/title><link>http://www.tkk7.com/tfzhu/archive/2010/07/24/327016.html</link><dc:creator>鏂偣</dc:creator><author>鏂偣</author><pubDate>Sat, 24 Jul 2010 08:22:00 GMT</pubDate><guid>http://www.tkk7.com/tfzhu/archive/2010/07/24/327016.html</guid><wfw:comment>http://www.tkk7.com/tfzhu/comments/327016.html</wfw:comment><comments>http://www.tkk7.com/tfzhu/archive/2010/07/24/327016.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/tfzhu/comments/commentRss/327016.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/tfzhu/services/trackbacks/327016.html</trackback:ping><description><![CDATA[<p><span style="font-size: 12pt">--瑙﹀彂鍣?br /> create table emp2_log<br /> (<br /> uname varchar2(20);<br /> action varchar2(10);<br /> atime date<br /> );</span></p> <p><span style="font-size: 12pt; color: #0000ff">create or replace trigger trig <br />   after insert or delete or update on emp2 for each row<br /> begin<br />   if inserting then<br />      insert into emp2_log values (USER,'insert',sysdate); --USER鍏抽敭瀛楋紝鐢ㄦ埛銆?br />   elsif updating then<br />      insert into emp2_log values (USER,'update',sysdate);<br />   elsif deleting then<br />      insert into emp2_log values (USER,'delete',sysdate);<br />   end if;<br /> end;</span></p> <p><span style="font-size: 12pt">update emp2 set sal = sal*2 where deptno = 30;<br /> select * from emp2_log;</span></p> <p><span style="font-size: 12pt; color: #0000ff">drop trigger trig;</span></p> <p><span style="font-size: 12pt">--鐩存帴鎵ц鏃訛紝鍑虹幇榪濆弽瀹屾暣綰︽潫鏉′歡錛屽凡鎵懼埌瀛愯褰曘?br /> update dept set deptno = 99 where deptno = 10;</span></p> <p><span style="font-size: 12pt">--浣跨敤涓嬮潰鐨勶紝鎶婂瓙琛ㄤ竴璧鋒洿鏂般?br /> <span style="color: #0000ff">create or replace trigger trig<br />   after update on dept for each row<br /> begin<br />   update emp set deptno =:NEW.deptno where deptno =:OLD.deptno;<br /> end;</span></span></p> <p><span style="font-size: 12pt">update dept set deptno = 99 where deptno = 10;</span></p> <p><span style="font-size: 12pt">select * from emp;<br /> rollback;</span></p> <img src ="http://www.tkk7.com/tfzhu/aggbug/327016.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/tfzhu/" target="_blank">鏂偣</a> 2010-07-24 16:22 <a href="http://www.tkk7.com/tfzhu/archive/2010/07/24/327016.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>function鍑芥暟http://www.tkk7.com/tfzhu/archive/2010/07/24/327015.html鏂偣鏂偣Sat, 24 Jul 2010 08:19:00 GMThttp://www.tkk7.com/tfzhu/archive/2010/07/24/327015.htmlhttp://www.tkk7.com/tfzhu/comments/327015.htmlhttp://www.tkk7.com/tfzhu/archive/2010/07/24/327015.html#Feedback0http://www.tkk7.com/tfzhu/comments/commentRss/327015.htmlhttp://www.tkk7.com/tfzhu/services/trackbacks/327015.html--鍑芥暟
create or replace function sal_tax
   (v_sal number)
   return number
is
begin
  if(v_sal < 2000) then
    return 0.10;
  elsif(v_sal < 2750) then
    return 0.15;
  else
    return 0.20;
  end if;
end;

鏁版嵁搴撳畾涔夌殑鍑芥暟money_to_chinese 錛屾妸鏁板瓧杞崲姝d腑鏂囪緭鍑恒?/span>
create or replace function money_to_chinese(money in VARCHAR2)
   return varchar2 is
     c_money   VARCHAR2(12);
     m_string VARCHAR2(60) := '鍒嗚鍦嗘嬀浣頒粺涓囨嬀浣頒粺浜?;
     n_string VARCHAR2(40) := '澹硅窗鍙佽倖浼嶉檰鏌掓崒鐜?;
     b_string VARCHAR2(80);
     n         CHAR;
     len       NUMBER(3);
     i         NUMBER(3);
     tmp       NUMBER(12);
     is_zero   BOOLEAN;
     z_count   NUMBER(3);
     l_money   NUMBER;
     l_sign    VARCHAR2(10);

   BEGIN
     l_money := abs(money);
     IF money < 0 THEN
       l_sign := '璐? ;
     ELSE
       l_sign := '';
     END IF;
     tmp      := round(l_money, 2) * 100;
     c_money := rtrim(ltrim(to_char(tmp, '999999999999')));
     len      := length(c_money);
     is_zero := TRUE;
     z_count := 0;
     i        := 0;
     WHILE i < len LOOP
       i := i + 1;
       n := substr(c_money, i, 1);
       IF n = '0' THEN
         IF len - i = 6 OR len - i = 2 OR len = i THEN
           IF is_zero THEN
             b_string := substr(b_string, 1, length(b_string) - 1);
             is_zero   := FALSE;
           END IF;
           IF len - i = 6 THEN
             b_string := b_string || '涓?;
           END IF;
           IF len - i = 2 THEN
             b_string := b_string || '鍦?;
           END IF;
           IF len = i THEN
              IF (len = 1) THEN
                 b_string := '闆跺渾鏁?;
              ELSE
                 b_string := b_string || '鏁?;
              END IF;
           END IF;
           z_count := 0;
         ELSE
           IF z_count = 0 THEN
             b_string := b_string || '闆?;
             is_zero   := TRUE;
           END IF;
           z_count := z_count + 1;
         END IF;
       ELSE
         b_string := b_string || substr(n_string, to_number(n), 1) ||
                     substr(m_string, len - i + 1, 1);
         z_count   := 0;
         is_zero   := FALSE;
       END IF;
     END LOOP;
     b_string := l_sign || b_string ;
     RETURN b_string;
exception
   --寮傚父澶勭悊
    WHEN OTHERS THEN
       RETURN(SQLERRM);
END;



鏂偣 2010-07-24 16:19 鍙戣〃璇勮
]]>
procedure瀛樺偍榪囩▼http://www.tkk7.com/tfzhu/archive/2010/07/24/327014.html鏂偣鏂偣Sat, 24 Jul 2010 08:17:00 GMThttp://www.tkk7.com/tfzhu/archive/2010/07/24/327014.htmlhttp://www.tkk7.com/tfzhu/comments/327014.htmlhttp://www.tkk7.com/tfzhu/archive/2010/07/24/327014.html#Feedback0http://www.tkk7.com/tfzhu/comments/commentRss/327014.htmlhttp://www.tkk7.com/tfzhu/services/trackbacks/327014.html--鍒涘緩瀛樺偍榪囩▼錛?br /> create or replace procedure p
is
  cursor c is
  select * from emp2 for update;
begin
  for v_temp in c loop 
    if(v_temp.deptno = 10) then
      update emp2 set sal = sal+10 where current of c;
    elsif(v_temp.deptno = 20) then
      update emp2 set sal = sal+20 where current of c;
    else
       update emp2 set sal = sal+50 where current of c;
    end if;
  end loop;
  commit;
end;

--鎵ц錛?br /> exec p;

begin
p;
end;


--甯﹀弬鏁扮殑瀛樺偍榪囩▼錛宨n浼犲叆鍙傛暟錛岄粯璁や負浼犲叆錛宱ut浼犲嚭銆?/span>
create or replace procedure p
   (v_a in number,v_b number,v_ret out number,v_temp in out number)
is
begin
  if(v_a >v_b) then
    v_ret := v_a;
  else
    v_ret := v_b;
  end if;
  v_temp :=v_temp +1;
end;

declare
  v_a number := 3;
  v_b number := 4;
  v_ret number;
  v_temp number := 5;
begin
  p(v_a,v_b,v_ret,v_temp);
  dbms_output.put_line(v_ret);
  dbms_output.put_line(v_temp);
end;



鏂偣 2010-07-24 16:17 鍙戣〃璇勮
]]>
cursor娓告爣http://www.tkk7.com/tfzhu/archive/2010/07/24/327013.html鏂偣鏂偣Sat, 24 Jul 2010 08:14:00 GMThttp://www.tkk7.com/tfzhu/archive/2010/07/24/327013.htmlhttp://www.tkk7.com/tfzhu/comments/327013.htmlhttp://www.tkk7.com/tfzhu/archive/2010/07/24/327013.html#Feedback0http://www.tkk7.com/tfzhu/comments/commentRss/327013.htmlhttp://www.tkk7.com/tfzhu/services/trackbacks/327013.html--娓告爣
declare
  cursor c is
    select * from emp;
  v_emp c%rowtype;
begin
  open c;
  loop
    fetch c into v_emp;
    exit when(c%notfound);
    dbms_output.put_line(v_emp.ename);
  end loop;
  close c;
end;

declare
  cursor c is
    select * from emp;
  v_emp emp%rowtype;
begin
  open c;
  fetch c into v_emp;
    while(c%found) loop
      dbms_output.put_line(v_emp.ename);
      fetch c into v_emp;
      --fetch c into v_emp; 瀵艱嚧絎竴鏉℃病鏈夋墦鍗幫紝鏈鍚庝竴鏉℃墦鍗?閬嶃?br />       --dbms_output.put_line(v_emp.ename);
  end loop;
  close c;
end;


declare
  cursor c is
    select * from emp;
begin
  for v_emp in c loop
    dbms_output.put_line(v_emp.ename);
  end loop;
end;


--甯﹀弬鏁扮殑娓告爣
declare
  cursor c(v_deptno emp.deptno%type,v_job emp.job%type)
  is
    select ename,sal from emp where deptno =v_deptno and job= v_job;
    --v_temp c%rowtype;
begin
  for v_temp in c(30,'CLERK') loop  --for鑷姩鎵撳紑娓告爣銆?br />     dbms_output.put_line(v_temp.ename);
  end loop;
end;


--鍙洿鏂扮殑娓告爣
declare
  cursor c
  is
    select * from emp2 for update;
    --v_temp c%rowtype;
begin
  for v_temp in c loop 
    if(v_temp.sal <2000) then
      update emp2 set sal = sal*2 where current of c;
    elsif(v_temp.sal = 5000) then
      delete from emp2 where current of c;
    end if;
  end loop;
  commit;
end;



鏂偣 2010-07-24 16:14 鍙戣〃璇勮
]]>
PL/SQL璇彞http://www.tkk7.com/tfzhu/archive/2010/07/24/327012.html鏂偣鏂偣Sat, 24 Jul 2010 08:03:00 GMThttp://www.tkk7.com/tfzhu/archive/2010/07/24/327012.htmlhttp://www.tkk7.com/tfzhu/comments/327012.htmlhttp://www.tkk7.com/tfzhu/archive/2010/07/24/327012.html#Feedback0http://www.tkk7.com/tfzhu/comments/commentRss/327012.htmlhttp://www.tkk7.com/tfzhu/services/trackbacks/327012.htmlPLSql鏄疭QL鐨勮ˉ鍏咃紝PL榪囩▼璇█procedure language錛孲QL錛歋tructured Query Language銆?br /> PLSql    甯︽湁鍒嗘敮銆佸驚鐜殑璇█錛孲QL娌℃湁鍒嗘敮銆佸驚鐜殑璇█銆?/span>

set serveroutput on;

-- 綆鍗曠殑PL/SQL璇彞鍧?/span>
declare
 v_name varchar2(20);
begin
  v_name :='myname';
  dbms_output.put_line(v_name);
end;
/


--璇彞鍧楃殑緇勬垚
declare
 v_num number := 0 ;
begin
  v_num := 2/v_num;
  dbms_output.put_line(v_num);
exception
  when others then
     dbms_output.put_line('error');

end;
/

--鍙橀噺澹版槑鐨勮鍒?br /> 1銆佸彉閲忓悕涓嶈兘澶熶嬌鐢ㄤ繚鐣欏瓧錛屽from銆乻elect絳?br /> 2銆佺涓涓瓧絎﹀繀欏繪槸瀛楁瘝
3銆佸彉閲忓悕鏈澶氬寘鍚?0涓瓧絎?br /> 4銆佷笉瑕佷笌鏁版嵁搴撶殑琛ㄦ垨鑰呭垪鍚屽悕
5銆佹瘡涓琛屽彧鑳藉0鏄庝竴涓彉閲?/span>


--甯哥敤鍙橀噺綾誨瀷
1銆乥inary_integer錛氭暣鏁幫紝涓昏鐢ㄦ潵璁℃暟鑰屼笉鏄敤鏉ヨ〃紺哄瓧孌電被鍨?br /> 2銆乶umber錛氭暟瀛楃被鍨?br /> 3銆乧har錛氬畾闀垮瓧絎︿覆
4銆乿archar2錛氬彉闀垮瓧絎︿覆
5銆乨ate錛氭棩鏈?br /> 6銆乴ong錛氶暱瀛楃涓詫紝鏈闀?GB
7銆乥oolean錛氬竷灝旂被鍨嬶紝鍙互鍙栧紅rue銆乫alse鍜宯ull鍊?/span>


--鍙橀噺澹版槑
declare
  v_temp number(1);
  v_count binary_integer :=0;
  v_sal number(7,2):= 4000.00;
  v_date date:= sysdate;
  v_pi constant number(3,2) := 3.14;  --constant鐩稿綋java鐨刦inal甯擱噺
  v_valid boolean := false;
  v_name varchar2(20) not null :='MyName';
begin
  dbms_output.put_line('v_temp value:'|| v_temp);
end;
 

--鍙橀噺澹版槑錛屼嬌鐢?type灞炴?br /> declare
  v_empno number(4);
  v_empno2 emp.empno%type;
  v_empno3 v_empno2%type;
begin
  dbms_output.put_line('Test');
end;


--綆鍗曞彉閲忚祴鍊?br /> declare
  v_name varchar2(20);
  v_sal number(7,2);
  v_sal2 number(7,2);
  v_valid boolean :=false;
  v_date date;
begin
  va_name :='MyName';
  v_sal :=23.77;
  v_sal2 :=23.77;
  v_valid:=(v_sal = v_sal2);
  v_date:=to_date('1999-08-12 12:23:38','YYYY-MM-DD HH24:MI:SS');  
end;


--Table鍙橀噺綾誨瀷錛屽畾涔変竴縐嶆柊鐨勭被鍨嬶紝鏄暟緇勩?/span>
declare
  type type_table_emp_empno is table of emp.empno%type index by binary_integer;
  v_empno type_table_emp_empno;
begin
  v_empnos(0) := 7369;
  v_empnos(2) := 7839;
  v_empnos(-1) := 9999;
  dbms_output.put_line(v_empnos(-1));
end;


--Record鍙橀噺綾誨瀷,綾諱技java鐨勭被鐨勬蹇點?/span>
declare
  type type_record_dept is record
  (
    deptno dept.deptno%type,
    dname dept.dname%type,
    loc dept.loc%type
  );
  v_tmp type_record_dept;
begin
  v_tmp.deptno := 50;
  v_tmp.dname := 'aaaa';
  v_tmp.loc := 'bj';
  dbms_output.put_line(v_temp.deptno||''||v_temp.dname);
end;


--浣跨敤%rowtype澹版槑Record鍙橀噺
declare
  v_temp dept%rowtype;
begin
  v_tmp.deptno := 50;
  v_tmp.dname := 'aaaa';
  v_tmp.loc := 'bj';
  dbms_output.put_line(v_temp.deptno||''||v_temp.dname);
end;


--SQL璇彞鐨勮繍鐢紝榪斿洖鏁版嵁鏈変笖鍙湁涓鏉¤褰曘?br /> declare
  v_ename emp.ename%type;
  v_sal emp.sal%type;
begin
  select ename,sal into v_ename,v_sal from emp where empno = 7369;
  dbms_output.put_line(v_ename||''||v_sal);
end;

declare
  v_emp emp%rowtype;
begin
  select * into v_emp from emp where empno = 7369;
  dbms_output.put_line(v_emp.ename);
end;

declare
   v_deptno dept.deptno%type := 50;
   v_dname dept.dname%type := 'aaaa';
   v_loc dept.loc%type := 'bj';
begin
  insert into dept2 values (v_deptno,v_dname,v_loc);
  commit;
end;

declare
  v_deptno emp2.deptno%type := 10;
  v_count number ;
begin
  --update emp2 set sal = sal/2 where deptno = v_deptno;
  --select deptno into v_deptno from emp2 where empno = 7369;
  select count(*) into v_count from emp2;
  dbms_output.put_line(sql%rowcount||'鏉¤褰曡褰卞搷');
  commit;
end;


DDL璇彞錛?br /> begin
  execute immediate 'create table T(nnn varchar2(20) default ''aaa'')';
end;

--if璇彞錛氬彇鍑?369鐨勮柂姘達紝濡傛灉<1200錛屽垯杈撳嚭'low'錛屽鏋?lt;2000鍒欒緭鍑?middle'錛屽惁鍒?high'
declare
  v_sal emp.sal%type;
begin
  select sal into v_sal from emp where empno = 7369;
  if(v_sal < 1200) then
    dbms_output.put_line('low');
  elsif(v_sal < 2000) then
    dbms_output.put_line('middle');
  else
    dbms_output.put_line('high');
  end if;
end;


--寰幆
declare
  i binary_integer := 1;
begin
  loop
    dbms_output.put_line(i);
    i := i+ 1;
    exit when (i >= 11);
  end loop;
end;

declare
  j binary_integer := 1;
begin
  while j< 11 loop
    dbms_output.put_line(j);
    j := j+ 1;
  end loop;
end;

begin
  for k in 1..10 loop
    dbms_output.put_line(k);
  end loop;

  for k in reverse 1..10 loop
    dbms_output.put_line(k);
  end loop;
end;


--閿欒澶勭悊
declare
  v_temp number(4);
begin
  select empno into v_temp from emp where deptno = 10;
exception
  when too_many_rows then
    dbms_output.put_line('澶璁板綍浜?);
  when others then
    dbms_output.put_line('error');
end;


declare
  v_temp number(4);
begin
  select empno into v_temp from emp where empno = 2222;
exception
  when no_data_found then
    dbms_output.put_line('娌℃暟鎹?);

end;


create table errorlog
(
id number primary key,
errcode number,
errmsg varchar2(1024),
errdate date
);


create sequence seq_errorlog_id start with 1 increment by 1;


declare
  v_deptno dept.deptno%type := 10;
  v_errmsg varchar2(1024);
begin
  delete from dept where deptno = v_deptno;
  commit;
exception
  when others then
  rollback;
  v_errcode := SQLCODE;  --鍏抽敭瀛楋紝浠h〃鍑洪敊鐨勪唬鐮併?br />   v_errmsg := SQLERRM;
  insert into errorlog values (seq_errorlog_id.nextval,v_errcode,v_errmsg,sysdate);
  commit;
end;



鏂偣 2010-07-24 16:03 鍙戣〃璇勮
]]>
鏁版嵁搴撹璁″噯鍒欙紙絎竴銆佺浜屻佺涓夎寖寮忚鏄庯級http://www.tkk7.com/tfzhu/archive/2010/07/18/326435.html鏂偣鏂偣Sun, 18 Jul 2010 02:23:00 GMThttp://www.tkk7.com/tfzhu/archive/2010/07/18/326435.htmlhttp://www.tkk7.com/tfzhu/comments/326435.htmlhttp://www.tkk7.com/tfzhu/archive/2010/07/18/326435.html#Feedback0http://www.tkk7.com/tfzhu/comments/commentRss/326435.htmlhttp://www.tkk7.com/tfzhu/services/trackbacks/326435.html鏋勯犳暟鎹簱蹇呴』閬靛驚涓瀹氱殑瑙勫垯銆傚湪鍏崇郴鏁版嵁搴撲腑錛岃繖縐嶈鍒欏氨鏄寖寮忋?/span>鍏崇郴鏁版嵁搴撲腑鐨勫叧緋誨繀欏繪弧瓚充竴瀹氱殑瑕佹眰錛屽嵆婊¤凍涓嶅悓鐨勮寖寮忋傜洰鍓嶅叧緋繪暟鎹簱鏈夊叚縐嶈寖寮忥細絎竴鑼冨紡錛?NF錛夈佺浜岃寖寮忥紙2NF錛夈佺涓夎寖寮忥紙3NF錛夈佺鍥涜寖寮忥紙4NF錛夈佺浜旇寖寮忥紙5NF錛夊拰絎叚鑼冨紡錛?NF錛夈傛弧瓚蟲渶浣庤姹傜殑鑼?/span>寮忔槸絎竴鑼冨紡錛?NF錛夈傚湪絎竴鑼冨紡鐨勫熀紜涓婅繘涓姝ユ弧瓚蟲洿澶氳姹傜殑縐頒負絎簩鑼冨紡錛?NF錛夛紝鍏朵綑鑼冨紡浠ユ綾繪帹銆備竴鑸鏉ワ紝鏁版嵁搴撳彧闇婊¤凍絎笁鑼冨紡錛?NF錛夊氨琛屼簡銆?/span>


絎竴鑼冨紡錛?NF錛夛細鏃犻噸澶嶇殑鍒椼?/span>
    鎵璋撶涓鑼冨紡錛?NF錛夋槸鎸囨暟鎹簱琛ㄧ殑姣忎竴鍒楅兘鏄笉鍙垎鍓茬殑鍩烘湰鏁版嵁欏癸紝鍚屼竴鍒椾腑涓嶈兘鏈夊涓?/span>
鍊鹼紝鍗沖疄浣撲腑鐨勬煇涓睘鎬т笉鑳芥湁澶氫釜鍊兼垨鑰呬笉鑳芥湁閲嶅鐨勫睘鎬с傚鏋滃嚭鐜伴噸澶嶇殑灞炴э紝灝卞彲鑳介渶瑕佸畾涔変竴涓柊鐨勫疄浣擄紝鏂扮殑瀹炰綋鐢遍噸澶嶇殑灞炴ф瀯鎴愶紝鏂板疄浣撲笌鍘熷疄浣撲箣闂翠負涓瀵瑰鍏崇郴銆傚湪絎竴鑼冨紡錛?NF錛変腑琛ㄧ殑姣忎竴琛屽彧鍖呭惈涓涓疄渚嬬殑淇℃伅銆傜畝鑰岃█涔嬶紝絎竴鑼冨紡灝辨槸鏃犻噸澶嶇殑鍒椼?br />    
   鏁版嵁搴撹〃涓殑瀛楁閮芥槸鍗曚竴灞炴х殑錛屼笉鍙啀鍒嗐傝繖涓崟涓灞炴х敱鍩烘湰綾誨瀷鏋勬垚錛屽寘鎷暣鍨嬨佸疄鏁般佸瓧絎﹀瀷銆侀昏緫鍨嬨佹棩鏈熷瀷絳夈?/span>

璇存槑錛氬湪浠諱綍涓涓叧緋繪暟鎹簱涓紝絎竴鑼冨紡錛?NF錛夋槸瀵瑰叧緋繪ā寮忕殑鍩烘湰瑕佹眰錛屼笉婊¤凍絎竴鑼冨紡錛?NF錛夌殑鏁版嵁搴撳氨涓嶆槸鍏崇郴鏁版嵁搴撱?

 

絎簩鑼冨紡錛?NF錛夛細灞炴у畬鍏ㄤ緷璧栦簬涓婚敭[娑堥櫎閮ㄥ垎瀛愬嚱鏁頒緷璧朷銆?br />  
    絎簩鑼冨紡錛?NF錛夋槸鍦ㄧ涓鑼冨紡錛?NF錛夌殑鍩虹涓婂緩绔嬭搗鏉ョ殑錛屽嵆婊¤凍絎簩鑼冨紡錛?NF錛夊繀欏誨厛婊?/span>
瓚崇涓鑼冨紡錛?NF錛夈傜浜岃寖寮忥紙2NF錛夎姹傛暟鎹簱琛ㄤ腑鐨勬瘡涓疄渚嬫垨琛屽繀欏誨彲浠ヨ鎯熶竴鍦板尯鍒嗐備負瀹?/span>鐜板尯鍒嗛氬父闇瑕佷負琛ㄥ姞涓婁竴涓垪錛屼互瀛樺偍鍚勪釜瀹炰緥鐨勬儫涓鏍囪瘑銆備緥濡傚憳宸ヤ俊鎭〃涓姞涓婁簡鍛樺伐緙栧彿錛坋mp_id錛夊垪錛屽洜涓烘瘡涓憳宸ョ殑鍛樺伐緙栧彿鏄儫涓鐨勶紝鍥犳姣忎釜鍛樺伐鍙互琚儫涓鍖哄垎銆傝繖涓儫涓灞炴у垪琚О涓轟富鍏抽敭瀛楁垨涓婚敭銆佷富鐮併?
    絎簩鑼冨紡錛?NF錛夎姹傚疄浣撶殑灞炴у畬鍏ㄤ緷璧栦簬涓誨叧閿瓧銆傛墍璋撳畬鍏ㄤ緷璧栨槸鎸囦笉鑳藉瓨鍦ㄤ粎渚濊禆涓?/span>
鍏抽敭瀛椾竴閮ㄥ垎鐨勫睘鎬э紝濡傛灉瀛樺湪錛岄偅涔堣繖涓睘鎬у拰涓誨叧閿瓧鐨勮繖涓閮ㄥ垎搴旇鍒嗙鍑烘潵褰㈡垚涓涓柊鐨勫疄浣擄紝鏂板疄浣撲笌鍘熷疄浣撲箣闂存槸涓瀵瑰鐨勫叧緋匯備負瀹炵幇鍖哄垎閫氬父闇瑕佷負琛ㄥ姞涓婁竴涓垪錛屼互瀛樺偍鍚勪釜瀹炰緥鐨?/span>鎯熶竴鏍囪瘑銆傜畝鑰岃█涔嬶紝絎簩鑼冨紡灝辨槸灞炴у畬鍏ㄤ緷璧栦簬涓婚敭銆?

絎笁鑼冨紡錛?NF錛夛細灞炴т笉渚濊禆浜庡叾瀹冮潪涓誨睘鎬娑堥櫎浼犻掍緷璧朷銆?/span>
   
    婊¤凍絎笁鑼冨紡錛?NF錛夊繀欏誨厛婊¤凍絎簩鑼冨紡錛?NF錛夈傜畝鑰岃█涔嬶紝絎笁鑼冨紡錛?NF錛夎姹備竴涓暟鎹簱琛ㄤ腑涓嶅寘鍚凡鍦ㄥ叾瀹冭〃涓凡鍖呭惈鐨勯潪涓誨叧閿瓧淇℃伅銆備緥濡傦紝瀛樺湪涓涓儴闂ㄤ俊鎭〃錛屽叾涓瘡涓?/span>閮ㄩ棬鏈夐儴闂ㄧ紪鍙鳳紙dept_id錛夈侀儴闂ㄥ悕縐般侀儴闂ㄧ畝浠嬬瓑淇℃伅銆傞偅涔堝湪鐨勫憳宸ヤ俊鎭〃涓垪鍑洪儴闂ㄧ紪鍙峰悗灝?/span>涓嶈兘鍐嶅皢閮ㄩ棬鍚嶇О銆侀儴闂ㄧ畝浠嬬瓑涓庨儴闂ㄦ湁鍏崇殑淇℃伅鍐嶅姞鍏ュ憳宸ヤ俊鎭〃涓傚鏋滀笉瀛樺湪閮ㄩ棬淇℃伅琛紝鍒?/span>鏍規嵁絎笁鑼冨紡錛?NF錛変篃搴旇鏋勫緩瀹冿紝鍚﹀垯灝變細鏈夊ぇ閲忕殑鏁版嵁鍐椾綑銆傜畝鑰岃█涔嬶紝絎笁鑼冨紡灝辨槸灞炴т笉渚?/span>璧栦簬鍏跺畠闈炰富灞炴с?br />      鎵璋撲紶閫掑嚱鏁頒緷璧栵紝鎸囩殑鏄鏋滃瓨鍦?A → B → C"鐨勫喅瀹氬叧緋伙紝鍒機浼犻掑嚱鏁頒緷璧栦簬A銆?/span>



鏂偣 2010-07-18 10:23 鍙戣〃璇勮
]]>
Sequence搴忓垪http://www.tkk7.com/tfzhu/archive/2010/07/17/326424.html鏂偣鏂偣Sat, 17 Jul 2010 14:08:00 GMThttp://www.tkk7.com/tfzhu/archive/2010/07/17/326424.htmlhttp://www.tkk7.com/tfzhu/comments/326424.htmlhttp://www.tkk7.com/tfzhu/archive/2010/07/17/326424.html#Feedback0http://www.tkk7.com/tfzhu/comments/commentRss/326424.htmlhttp://www.tkk7.com/tfzhu/services/trackbacks/326424.html搴忓垪錛歴equence錛屼駭鐢熶竴涓嫭涓鏃犱簩鐨勫簭鍒楋紝鏄痮racle鐗規湁鐨勩?/p>

create table article
(
id number,
title varchar2(1024),
cont long
);
insert into article values(seq.nextval,'a','b');

select * from user_sequences; --鏌ヨ搴忓垪

create sequence seq; --鍒涘緩搴忓垪seq瀵硅薄
select seq.nextval from dual;
drop sequence seq;



鏂偣 2010-07-17 22:08 鍙戣〃璇勮
]]>
View瑙嗗浘http://www.tkk7.com/tfzhu/archive/2010/07/17/326373.html鏂偣鏂偣Sat, 17 Jul 2010 03:03:00 GMThttp://www.tkk7.com/tfzhu/archive/2010/07/17/326373.htmlhttp://www.tkk7.com/tfzhu/comments/326373.htmlhttp://www.tkk7.com/tfzhu/archive/2010/07/17/326373.html#Feedback0http://www.tkk7.com/tfzhu/comments/commentRss/326373.htmlhttp://www.tkk7.com/tfzhu/services/trackbacks/326373.html瑙嗗浘錛氫竴涓櫄琛紝涔熸槸涓涓瓙鏌ヨ錛屾槸瀛樺偍鍦ㄦ暟鎹瓧鍏擱噷鐨勪竴鏉elect璇彞銆?
瑙嗗浘錛氬熀浜庝竴涓〃鎴栧涓〃鎴栬鍥劇殑閫昏緫琛紝鏈韓涓嶅寘鍚暟鎹紝閫氳繃瀹冨彲浠ュ琛ㄩ噷闈㈢殑鏁版嵁榪涜鏌ヨ鍜屼慨鏀癸紝瑙嗗浘鍩轟簬鐨勮〃縐頒負鍩鴻〃銆?/span>


瑙嗗浘鐨勪紭鐐癸細
1銆佸鏁版嵁搴撶殑璁塊棶錛屽彲浠ユ湁閫夋嫨鎬х殑閫夊彇鏁版嵁搴撻噷鐨勪竴閮ㄥ垎淇℃伅錛?span style="color: #0000ff">鏁村紶琛ㄧ殑淇℃伅涓嶅澶栧紑鏀?/span>銆?.鐢ㄦ埛閫氳繃綆鍗曠殑鏌ヨ鍙互浠庡鏉傛煡璇腑寰楀埌緇撴灉銆?br /> 瑙嗗浘鐨勭己鐐癸細
濡傛灉涓涓〃鐨勭粨鏋勬敼浜嗭紝鐩稿簲鐨勮鍥懼鏋滅敤鍒頒簡璇ヨ〃鐨勫瓧孌碉紝涔熻榪涜淇敼錛?span style="color: #0000ff">澧炲姞緇存姢宸ヤ綔閲?/span>銆?/span>


綆鍗曡鍥撅細鍙粠鍗曡〃閲岃幏鍙栨暟鎹紝涓嶅寘鍚嚱鏁板拰鏁版嵁緇勶紝鍙互瀹炵幇DML鎿嶄綔銆?/span>
澶嶆潅瑙嗗浘錛氫粠澶氳〃鑾峰彇鏁版嵁錛屽寘鍚嚱鏁板拰鏁版嵁緇勶紝涓嶅彲浠ML鎿嶄綔銆?br />

瑙嗗浘鐨勫垱寤猴細
CREATE [OR REPLACE] [FORCE|NOFORCE] VIEW view_name
[(alias[, alias]...)]
AS subquery
[WITH CHECK OPTION [CONSTRAINT constraint]]
[WITH READ ONLY]

鍏朵腑錛?br /> OR REPLACE錛氳嫢鎵鍒涘緩鐨勮瘯鍥懼凡緇忓瓨鍦紝ORACLE鑷姩閲嶅緩璇ヨ鍥撅紱
FORCE錛氫笉綆″熀琛ㄦ槸鍚﹀瓨鍦∣RACLE閮戒細鑷姩鍒涘緩璇ヨ鍥撅紱
NOFORCE錛氬彧鏈夊熀琛ㄩ兘瀛樺湪ORACLE鎵嶄細鍒涘緩璇ヨ鍥撅細
alias錛氫負瑙嗗浘浜х敓鐨勫垪瀹氫箟鐨勫埆鍚嶏紱
subquery錛氫竴鏉″畬鏁寸殑SELECT璇彞錛屽彲浠ュ湪璇ヨ鍙ヤ腑瀹氫箟鍒悕錛?br style="font-family: " /> WITH CHECK OPTION 錛氭彃鍏ユ垨淇敼鐨勬暟鎹蹇呴』婊¤凍瑙嗗浘瀹氫箟鐨勭害鏉燂紱
WITH READ ONLY 錛氳瑙嗗浘涓婁笉鑳借繘琛屼換浣旸ML鎿嶄綔銆?/span>


渚嬪錛?br />        CREATE OR REPLACE VIEW dept_sum_vw
               (name,minsal,maxsal,avgsal)
       AS SELECT d.dname,min(e.sal),max(e.sal),avg(e.sal)
       FROM    emp e,dept d
       WHERE e.deptno=d.deptno
       GROUP BY d.dname;
鏌ヨ瑙嗗浘錛?span style="color: #008000">select * from user_views;
淇敼瑙嗗浘錛?span style="color: #008000">閫氳繃OR REPLACE 閲嶆柊鍒涘緩鍚屽悕瑙嗗浘鍗沖彲銆?/span>
鍒犻櫎瑙嗗浘錛?span style="color: #008000">DROP VIEW VIEW_NAME;

瑙嗗浘鐨勫畾涔夊師鍒欙細
1.瑙嗗浘鐨勬煡璇㈠彲浠ヤ嬌鐢ㄥ鏉傜殑SELECT璇硶錛屽寘鎷繛鎺?鍒嗙粍鏌ヨ鍜屽瓙鏌ヨ錛?br /> 2.鍦ㄦ病鏈塛ITH CHECK OPTION鍜?READ ONLY 鐨勬儏鍐典笅錛屾煡璇腑涓嶈兘浣跨敤ORDER BY 瀛愬彞錛?br /> 3.濡傛灉娌℃湁涓篊HECK OPTION綰︽潫鍛藉悕錛岀郴緇熶細鑷姩涓轟箣鍛藉悕錛屽艦寮忎負SYS_Cn;
4.OR REPLACE閫夐」鍙互涓嶅垹闄ゅ師瑙嗗浘渚垮彲鏇存敼鍏跺畾涔夊茍閲嶅緩錛屾垨閲嶆柊鎺堜簣瀵硅薄鏉冮檺銆?br />
瑙嗗浘涓婄殑DML鎿嶄綔錛屽簲閬靛驚鐨勫師鍒欙細
1.綆鍗曡鍥懼彲浠ユ墽琛孌ML鎿嶄綔錛?br /> 2.鍦ㄨ鍥懼寘鍚獹ROUP 鍑芥暟錛孏ROUP BY瀛愬彞錛孌ISTINCT鍏抽敭瀛楁椂涓嶈兘鍒犻櫎鏁版嵁琛岋紱
3.鍦ㄨ鍥句笉鍑虹幇涓嬪垪鎯呭喌鏃跺彲閫氳繃瑙嗗浘淇敼鍩鴻〃鏁版嵁鎴栨彃鍏ユ暟鎹細
   a.瑙嗗浘涓寘鍚獹ROUP 鍑芥暟錛孏ROUP BY瀛愬彞錛孌ISTINCT鍏抽敭瀛楋紱
   b.浣跨敤琛ㄨ揪寮忓畾涔夌殑鍒楋紱
   c .ROWNUM浼垪銆?br />   d.鍩鴻〃涓湭鍦ㄨ鍥句腑閫夋嫨鐨勫叾浠栧垪瀹氫箟涓洪潪絀轟笖鏃犻粯璁ゅ箋?/p>


WITH CHECK OPTION 瀛愬彞闄愬畾錛?br /> 閫氳繃瑙嗗浘鎵ц鐨処NSERTS鍜孶PDATES鎿嶄綔涓嶈兘鍒涘緩璇ヨ鍥炬绱笉鍒扮殑鏁版嵁琛?/span>錛屽洜涓哄畠浼氬鎻掑叆鎴栦慨鏀圭殑鏁版嵁琛屾墽琛屽畬鏁存х害鏉熷拰鏁版嵁鏈夋晥鎬ф鏌ャ?br /> 渚嬪錛?br />            CREATE OR REPLACE VIEW vw_emp20
           AS SELECT * FROM emp
           WHERE deptno=20
           WITH CHECK OPTION constraint vw_emp20_ck;
          瑙嗗浘 宸插緩绔嬨?br />             鏌ヨ緇撴灉錛?br />            SELECT empno,ename,job FROM vw_emp20;
          EMPNO                ENAME                JOB
---------------------           --------------          -------------
              7369                 SMITH                CLERK
              7566                 JONES               MANAGER
              7902                 FORD                ANALYST
          淇敼錛?br />                 UPDATE vw_emp20
                SET        deptno=20
                WHERE   empno=7902;
           灝嗕駭鐢熼敊璇細
               UPDATE vw_emp20
                              *
               ERROR 浣嶄簬絎竴琛岋細
               ORA-01402錛氳鍥網ITH CHECK OPTION 榪濆弽WHERE 瀛愬彞



鏂偣 2010-07-17 11:03 鍙戣〃璇勮
]]>
Index绱㈠紩http://www.tkk7.com/tfzhu/archive/2010/07/17/326371.html鏂偣鏂偣Sat, 17 Jul 2010 02:54:00 GMThttp://www.tkk7.com/tfzhu/archive/2010/07/17/326371.htmlhttp://www.tkk7.com/tfzhu/comments/326371.htmlhttp://www.tkk7.com/tfzhu/archive/2010/07/17/326371.html#Feedback0http://www.tkk7.com/tfzhu/comments/commentRss/326371.htmlhttp://www.tkk7.com/tfzhu/services/trackbacks/326371.html
琛ㄥ緩绔嬬儲寮曞悗鍦ㄦ彃鍏ユ暟鎹椂錛屼竴瑕佹妸鏁版嵁鍐欏叆琛ㄩ噷錛屼簩瑕佹妸璇ユ暟鎹鍏ョ儲寮曢噷闈紝鍥犳鏌ヨ鏁堢巼楂樸佷絾鎻掑叆鏁堢巼浣庛?br />
create index idx_stu_email on stu(email,class);  --緇勫悎绱㈠紩錛屾煡璇㈡晥鐜囬珮銆?br /> drop index idx_stu_email;
select * from user_indexes; -- 鏌ヨ绱㈠紩


鏂偣 2010-07-17 10:54 鍙戣〃璇勮
]]>
Oracle鏁版嵁瀛楀吀http://www.tkk7.com/tfzhu/archive/2010/07/17/326370.html鏂偣鏂偣Sat, 17 Jul 2010 02:52:00 GMThttp://www.tkk7.com/tfzhu/archive/2010/07/17/326370.htmlhttp://www.tkk7.com/tfzhu/comments/326370.htmlhttp://www.tkk7.com/tfzhu/archive/2010/07/17/326370.html#Feedback0http://www.tkk7.com/tfzhu/comments/commentRss/326370.htmlhttp://www.tkk7.com/tfzhu/services/trackbacks/326370.htmlOracle鐨勬暟鎹簱瀵硅薄鍒嗕負浜旂錛氳〃錛岃鍥撅紝搴忓垪錛岀儲寮曞拰鍚屼箟璇嶃?/span>

select * from  user_tables  -- 褰撳墠鐢ㄦ埛涓嬫湁澶氬皯寮犺〃
select * from  user_views  -- 褰撳墠鐢ㄦ埛涓嬫湁澶氬皯寮犺鍥?br /> select * from user_sequences; --鏌ヨ搴忓垪
select * from user_indexes; -- 鏌ヨ绱㈠紩

select * from  user_constraints  -- 褰撳墠鐢ㄦ埛涓嬫湁澶氬皯綰︽潫
select * from  dictionary  --鏁版嵁瀛楀吀琛ㄧ殑琛?br />

鏂偣 2010-07-17 10:52 鍙戣〃璇勮
]]>
DDL錛坉ata definition language錛変粙緇?/title><link>http://www.tkk7.com/tfzhu/archive/2010/07/17/326365.html</link><dc:creator>鏂偣</dc:creator><author>鏂偣</author><pubDate>Sat, 17 Jul 2010 01:43:00 GMT</pubDate><guid>http://www.tkk7.com/tfzhu/archive/2010/07/17/326365.html</guid><wfw:comment>http://www.tkk7.com/tfzhu/comments/326365.html</wfw:comment><comments>http://www.tkk7.com/tfzhu/archive/2010/07/17/326365.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/tfzhu/comments/commentRss/326365.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/tfzhu/services/trackbacks/326365.html</trackback:ping><description><![CDATA[<p><span style="font-size: 12pt; font-family: 瀹嬩綋">DDL錛坉ata definition language錛夛細DDL姣擠ML瑕佸錛屼富瑕佺殑鍛戒護鏈?span style="color: #0000ff">CREATE銆丄LTER銆丏ROP</span>絳夛紝DDL涓昏鏄敤鍦ㄥ畾涔夋垨鏀瑰彉琛紙TABLE錛夌殑緇撴瀯錛屾暟鎹被鍨嬶紝琛ㄤ箣闂寸殑閾炬帴鍜岀害鏉熺瓑鍒濆鍖栧伐浣滀笂錛屼粬浠ぇ澶氬湪寤虹珛琛ㄦ椂浣跨敤銆?br /> <br /> 鏁版嵁綾誨瀷錛歏ARCHAR2(50)鏈澶?K(4096瀛楄妭)銆丆HAR(1)鏈澶?k銆丯UMBER(10,6)銆丯UMBER(6)銆丏ATE銆?br /> LONG 鍙橀暱瀛楃涓詫紝鏈澶ч暱搴﹁揪2G銆?/span></p> <p> </p> <p><span style="color: #0000ff">綰︽潫鏉′歡鏈?涓細闈炵┖銆佸敮涓銆佷富閿佸閿乧heck銆?br /> </span><br /> create table stu<br /> (<br /> id number(6), --primary key<br /> name varchar2(20) constraint stu_name_nn not null, --stu_name_nn鍒悕<br /> sex number(1),<br /> age number(3),<br /> sdate date,<br /> grade number(2) default 1,<br /> class number(4), --references class(id)<br /> email varchar2(50),<br /> --email varchar2(50) unique  --瀛楁綰х害鏉燂紝涓嶈兘鏈夐噸澶嶅?br /> <span style="color: #0000ff">constraint stu_name_email_uni <span style="color: #008000">unique(name,email), </span>--琛ㄧ駭綰︽潫<br /> constraint stu_id_pk <span style="color: #008000">primary key(id),        </span>--琛ㄧ駭綰︽潫<br /> constraint stu_class_fk<span style="color: #008000"> foreign key(class) references class(id)</span> --琚弬鑰冨瓧孌靛繀欏繪槸涓婚敭<br /> </span>);</p> <p>create table class<br /> (<br /> id number(4) <span style="color: #008000">primary key,<br /> </span>name varchar2(20) not null<br /> )</p> <p><br /> alter table stu add(addr varchar2(100)); --瀵瑰凡瀛樺湪鐨勮〃鏂板瀛楁<br /> alter table stu modify(addr varchar2(150)); --瀵瑰瓧孌典慨鏀?br /> alter table stu drop (addr); --鍒犻櫎涓涓瓧孌?br /> alter table stu drop constraint stu_class_fk;<br /> delete from class;<br /> drop table class;</p> <img src ="http://www.tkk7.com/tfzhu/aggbug/326365.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/tfzhu/" target="_blank">鏂偣</a> 2010-07-17 09:43 <a href="http://www.tkk7.com/tfzhu/archive/2010/07/17/326365.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>DML錛坉ata manipulation language錛変粙緇?/title><link>http://www.tkk7.com/tfzhu/archive/2010/07/11/325782.html</link><dc:creator>鏂偣</dc:creator><author>鏂偣</author><pubDate>Sun, 11 Jul 2010 07:43:00 GMT</pubDate><guid>http://www.tkk7.com/tfzhu/archive/2010/07/11/325782.html</guid><wfw:comment>http://www.tkk7.com/tfzhu/comments/325782.html</wfw:comment><comments>http://www.tkk7.com/tfzhu/archive/2010/07/11/325782.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/tfzhu/comments/commentRss/325782.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/tfzhu/services/trackbacks/325782.html</trackback:ping><description><![CDATA[<p><span style="color: #0000ff">SQL璇█鍏卞垎涓哄洓澶х被錛氭暟鎹煡璇㈣璦DQL錛屾暟鎹搷綰佃璦DML錛屾暟鎹畾涔夎璦DDL錛屾暟鎹帶鍒惰璦DCL銆?/span></p> <p>DML錛坉ata manipulation language錛夛細瀹冧滑鏄疭ELECT銆乁PDATE銆両NSERT銆丏ELETE錛屽氨璞″畠鐨勫悕瀛椾竴鏍鳳紝榪?鏉″懡浠ゆ槸鐢ㄦ潵瀵規暟鎹簱閲岀殑鏁版嵁榪涜鎿嶄綔鐨勮璦銆?/p> <p>conn sys/sys as sysdba;<br /> drop user pcisv6 cascade;<br /> exp --澶囦喚scott鐢ㄦ埛涓嬬殑琛?br /> --鍒涘緩鐢ㄦ埛,identified涓鴻璇佺浉褰撴槸瀵嗙爜錛宷uota閰嶉灝辨槸鍒嗛厤絀洪棿銆?br /> <span style="color: #0000ff">create user pcisv6 identified by 11 default tablespace core6 quota 10M on corev6</span><br /> <span style="color: #0000ff">grant create session,create table,create view to pcisv6;</span>   --鎺堟潈錛宻ession鏄敤浜庣櫥褰曠殑<br /> imp --瀵煎叆scott鐢ㄦ埛涓嬬殑琛?br /> <br /> SELECT錛?br /> <span style="color: #0000ff">select rownum r,ename from emp;    --rownum琛屾暟錛岀洰鍓嶅彧鑳戒嬌鐢?lt;銆?lt;=, 鑰屾病鏈夌洿鎺?gt;銆?鐨勫啓娉曘?br /> </span>select ename, sal     --姹傝柂姘存渶楂樼殑鍓?浜?br />  from (select ename, sal from emp order by sal desc)<br />  where rownum <= 5;<br /> <br /> --姹傝柂姘存渶楂樼殑鍓?鍒?0浜?br /> select ename,sal,rownum r from emp order by sal desc; --r 鎺掑簭娣蜂貢<br /> select ename,sal,rownum r from (select ename,sal from emp order by sal desc); --姝ゆ椂r搴忓彿鎸夋柊琛ㄦ帓搴?br /> <span style="color: #0000ff">select ename, sal    -- 姝ゅ涓虹粨鏋?br />   from (select ename, sal, rownum r<br />           from (select ename, sal from emp order by sal desc))<br />  where r >= 6<br />    and r <= 10;</span></p> <br /> INSERT錛?br /> <span style="color: #0000ff">insert into dept values(50,'game','bj');    --鏁存潯璁板綍</span><br /> rollback;<br /> create table dept2 as selet * from emp; --鍒涘緩dept2琛?br /> <span style="color: #0000ff">insert into dept2(deptno,dname) values(60,'game2');    --鏈夐夋嫨鐨勫瓧孌墊彃鍏?/span><br /> <span style="color: #0000ff">insert into dept2 <span style="color: #0000ff">select * from dept;    --鎻掑叆涓涓〃, 2涓〃緇撴瀯涓鏍?/span></span> <br /> <p><br /> UPDATE錛?br /> update emp2 set sal=sal*12,ename=ename||'-' where deptno=10;<br /> <br /> DELETE錛?br /> delete from dept2 where deptno<25;<br /> rollback;<br /> <br /> TRANSACTION錛?br /> transaction 璧峰涓鏉ml璇彞錛屽湪commit銆乺ollback鏃跺畬鎴愩?br /> transaction 鍦ㄦ墽琛宒ml鍚庯紝鍦ㄥ叾鍚庢湁鎵ц浜哾dl銆乨cl鏃訛紝浜嬪姟鑷姩鎻愪氦銆?br /> 鍦ㄦ甯擱鍑篹xit鏃訛紝浜嬪姟鑷姩鎻愪氦銆?br /> 鍦ㄩ潪姝e父閫鍑烘椂錛屼簨鍔″洖婊氥?br /> <br /> ------------------------------------------------------------<br /> 渚嬪瓙錛?br /> 鏈?涓〃S錛孋錛孲C <br /> S錛圫NO錛孲NAME錛変唬琛紙瀛﹀彿錛屽鍚嶏級 <br /> C錛圕NO錛孋NAME錛孋TEACHER錛変唬琛紙璇懼彿錛岃鍚嶏紝鏁欏笀錛?<br /> SC錛圫NO錛孋NO錛孲CGRADE錛変唬琛紙瀛﹀彿錛岃鍙鋒垚緇╋級 <br /> 闂錛?<br /> 1錛屾壘鍑烘病閫夎繃“榛庢槑”鑰佸笀鐨勬墍鏈夊鐢熷鍚嶃?<br /> 2錛屽垪鍑?闂ㄤ互涓婏紙鍚?闂級涓嶅強鏍煎鐢熷鍚嶅強騫沖潎鎴愮嘩銆?<br /> 3錛屽嵆瀛﹁繃1鍙瘋紼嬫湁瀛﹁繃2鍙瘋鎵鏈夊鐢熺殑濮撳悕銆?<br /> 璇風敤鏍囧噯SQL璇█鍐欏嚭絳旀錛屾柟璦涔熻錛堣璇存槑鏄嬌鐢ㄤ粈涔堟柟璦錛夈?</p> <p>1. <br /> select sname froms<br />   join sc on (s.sno = sc.sno)<br />   join c(c.cno = sc.cno)<br />  where c.cteacher <> 'liming';<br /> 2. <br /> select sname<br />  where sno in (select sno<br />                  from sc<br />                 where scgrade < 60<br />                 group by sno<br />                having count(*) >= 2);<br /> 3. <br /> select sname<br />  where sno in (select sno<br />                  from sc<br />                 where cno = 1<br />                   and sno in (select sno from sc where cno = 2));</p> <br /> <img src ="http://www.tkk7.com/tfzhu/aggbug/325782.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/tfzhu/" target="_blank">鏂偣</a> 2010-07-11 15:43 <a href="http://www.tkk7.com/tfzhu/archive/2010/07/11/325782.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>SQL緇勫悎鏌ヨ渚嬪瓙http://www.tkk7.com/tfzhu/archive/2010/07/06/325409.html鏂偣鏂偣Tue, 06 Jul 2010 15:25:00 GMThttp://www.tkk7.com/tfzhu/archive/2010/07/06/325409.htmlhttp://www.tkk7.com/tfzhu/comments/325409.htmlhttp://www.tkk7.com/tfzhu/archive/2010/07/06/325409.html#Feedback0http://www.tkk7.com/tfzhu/comments/commentRss/325409.htmlhttp://www.tkk7.com/tfzhu/services/trackbacks/325409.htmlselect e1.ename,e2.ename from emp e1 join emp e2 on (e1.mgr=e2.empno); --鑷繛鎺ワ紝浠巈2涓彇鍑篹1鐨勭粡鐞嗕漢銆?br /> select ename,dname from emp e left join dept d on (e.deptno=d.deptno);   --宸﹀榪炴帴
select ename,dname from emp e right outer join dept d on (e.deptno=d.deptno);   --鍙沖榪炴帴
select ename,dname from emp e full join dept d on (e.deptno=d.deptno);    --鍏ㄨ繛鎺?/p>


--姹傞儴闂ㄤ腑鍝簺浜虹殑钖按鏈楂?br /> select ename,sal from emp
join (select max(sal) max_sal,deptno from emp group by deptno) t
on (emp.sal = t.max_sal and emp.deptno = t.deptno);

--姹傞儴闂ㄥ鉤鍧囪柂姘寸殑絳夌駭
select deptno,avg_sal,grade from
(select deptno,avg(sal) avg_sal from emp group by deptno) t
join salgrade s on (t.avg_sal between s.losal and s.hisal);


--姹傞儴闂ㄥ鉤鍧囩殑钖按絳夌駭
select avg(grade) from
(select deptno,ename,grade from emp join salgrade s on (emp.sal between s.losal and s.hisal )) t
group by deptno;

--闆囧憳涓湁鍝簺浜烘槸緇忕悊浜?br /> select ename from emp where empno in (select distinct mgr from emp);


--涓嶅噯鐢ㄧ粍鍑芥暟錛屾眰钖按鐨勬渶楂樺箋傞噰鐢ㄧ殑鏄嚜榪炴帴銆?br /> select distinct sal from emp where sal not in
(select distinct e1.sal from emp e1 join emp e2 on (e1.sal < e2.sal));


--姹傚鉤鍧囪柂姘存渶楂樼殑閮ㄩ棬鐨勯儴闂ㄧ紪鍙楓傚祵濂楃殑緇勫嚱鏁般?br /> select deptno,avg_sal from
(select avg(sal) avg_sal,deptno from emp group by deptno)
where avg_sal =
(select max(avg(sal)),deptno from emp group by deptno;

 

--姹傚鉤鍧囪柂姘寸殑絳夌駭鏈浣庣殑閮ㄩ棬鐨勯儴闂ㄥ悕縐般?br /> select dname,t1.deptno,grade,avg_sal from
  (
   select deptno,grade,avg_sal from
     (select deptno,avg(sal) avg_sal from emp group by deptno) t
     join salgrade s on (t.avg_sal between s.losal and s.hisal)
  )
   t1
   join dept on (t1.deptno = dept.deptno)
)
where t1.grade =
(
 select min(grade) from
     (select deptno,grade,avg_sal from
  (select deptno,grade,avg(sal) avg_sal from emp group by deptno) t
   join salgrade s on (t.avg_sal between s.losal and s.hisal)
     )
)


--姹傚鉤鍧囪柂姘寸殑絳夌駭鏈浣庣殑閮ㄩ棬鐨勯儴闂ㄥ悕縐般傞噰鐢ㄨ鍥俱?br /> conn sys/sys as sysdba;
grant create table,create view to scott;

create view v$_dept_avg_sal_info as
select deptno,grade,avg_sal from
  (select deptno,grade,avg(sal) avg_sal from emp group by deptno) t
   join salgrade s on (t.avg_sal between s.losal and s.hisal);

select dname,t1.deptno,grade,avg_sal from
   v$_dept_avg_sal_info t1
   join dept on (t1.deptno = dept.deptno)
)
where t1.grade =
(
 select min(grade) from  v$_dept_avg_sal_info
)

-- 姣旀櫘閫氬憳宸ョ殑鏈楂樿柂姘磋繕瑕侀珮鐨勭粡鐞嗕漢鍚嶇О銆?br /> select ename from emp
where empno in (select distinct mgr from emp where mgr is not null)
and sal >
(
  select max(sal) from emp where empno not in
  (select distinct mgr from emp where mgr is not null)
)

 



鏂偣 2010-07-06 23:25 鍙戣〃璇勮
]]>
SQL1999琛ㄨ繛鎺?/title><link>http://www.tkk7.com/tfzhu/archive/2010/07/06/325408.html</link><dc:creator>鏂偣</dc:creator><author>鏂偣</author><pubDate>Tue, 06 Jul 2010 15:18:00 GMT</pubDate><guid>http://www.tkk7.com/tfzhu/archive/2010/07/06/325408.html</guid><wfw:comment>http://www.tkk7.com/tfzhu/comments/325408.html</wfw:comment><comments>http://www.tkk7.com/tfzhu/archive/2010/07/06/325408.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/tfzhu/comments/commentRss/325408.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/tfzhu/services/trackbacks/325408.html</trackback:ping><description><![CDATA[<p><span style="color: #0000ff">--1992騫磗ql鏍囧噯錛岃繛鎺ユ潯浠跺拰榪囨護鏉′歡鍐欏湪涓璧楓?/span><br /> select ename,dname,grade <br /> from emp e,dept d,salgrade s <br /> where e.deptno = d.deptno and e.sal between s.losal and s.hisal and job<>'CLERK'; <br /> </p> <p><span style="color: #0000ff">--1999騫磗ql鏍囧噯,榪炴帴鏉′歡鍜岃繃婊ゆ潯浠跺垎寮</span><br /> select ename,dname,grade <br /> from emp e join dept d on (e.deptno = d.deptno)<br /> join salgrade s on (e.sal between s.losal and s.hisal)<br /> where ename not like '_A%'; <br /> </p> <img src ="http://www.tkk7.com/tfzhu/aggbug/325408.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/tfzhu/" target="_blank">鏂偣</a> 2010-07-06 23:18 <a href="http://www.tkk7.com/tfzhu/archive/2010/07/06/325408.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>甯哥敤sql鍑芥暟http://www.tkk7.com/tfzhu/archive/2010/06/30/324932.html鏂偣鏂偣Wed, 30 Jun 2010 15:38:00 GMThttp://www.tkk7.com/tfzhu/archive/2010/06/30/324932.htmlhttp://www.tkk7.com/tfzhu/comments/324932.htmlhttp://www.tkk7.com/tfzhu/archive/2010/06/30/324932.html#Feedback0http://www.tkk7.com/tfzhu/comments/commentRss/324932.htmlhttp://www.tkk7.com/tfzhu/services/trackbacks/324932.htmlselect chr(65) from dual;
select ascii('A') from dual;  --姹傜紪鐮?br /> select ename from emp where lower(ename) like '_a%'  -- upper澶у啓
select round(23.652,2) from dual; -- 鍥涜垗浜斿叆 23.65,round(23.652)涓?4
select substr(ename,1,3) from emp; --浠庣涓涓紑濮嬶紝鎬繪帴鍙?涓?br /> select ename,sal,deptno from emp where length(sal)>3;

select to_char(sal,'$99,999.9999') from emp;  --'L00000.0000'鍗冧綅涓嶅琛?
select to_char(sysdate,'YYYY-MM-DD HH24:MI:SS') from dual; 

select ename,hiredate from emp where hiredate>to_date('1981-2-20 12:34:56','YYYY-MM-DD HH24:MI:SS');

select sal from emp where sal>to_number('$1,250.00','$9,999.99');

select ename,sal*12 + nvl(comm,0) from emp; --瀵圭┖鍊煎鐞?br />


緇勫嚱鏁幫細
select max(sal) from emp;
select min(sal) from emp;
select avg(sal) from emp;
select sum(sal) from emp;
select count(*) from emp; -- *姹傚嚭鎬昏褰曟暟, count(comm)姹傚嚭璇ュ垪涓嶄負絀虹殑鍊箋?br /> select deptno,job,max(sal) from emp group by deptno,job;  --鎸夌収鏉′歡緇勫悎鍒嗙粍
select ename from emp where sal =(select max(sal) from emp); --瀛愭煡璇?br />
update Web_Bas_Edr_Rsn set c_rsn_txt=REPLACE(c_rsn_txt,'澶╂觸','鍖椾含') where  c_rsn_txt like '%澶╂觸%' --鎵歸噺鏇挎崲

-- having瀵瑰垎緇勮繘琛岄檺鍒訛紝where瀵瑰崟琛岄檺鍒?/span>
select avg(sal) from emp where sal>1000 group by deptno having avg(sal) >1500 order by avg(sal) desc;



鏂偣 2010-06-30 23:38 鍙戣〃璇勮
]]>
甯哥敤sql鎿嶄綔http://www.tkk7.com/tfzhu/archive/2010/06/30/324837.html鏂偣鏂偣Tue, 29 Jun 2010 16:45:00 GMThttp://www.tkk7.com/tfzhu/archive/2010/06/30/324837.htmlhttp://www.tkk7.com/tfzhu/comments/324837.htmlhttp://www.tkk7.com/tfzhu/archive/2010/06/30/324837.html#Feedback0http://www.tkk7.com/tfzhu/comments/commentRss/324837.htmlhttp://www.tkk7.com/tfzhu/services/trackbacks/324837.htmlsqlplus sys/sys as sysdba;
alert user scott account unlock;
desc emp;
select ename,sal*12 from emp;

select sysdate from dual; --dual涓虹┖琛?/span>

select ename,sal*12 annual_sal from emp; --鍒悕
--鏁板?null 涓簄ull
select ename||sal from emp; --鎷間覆
select ename||'aaa''bbb' from emp; --鍚?鐨勬嫾涓?''鏇挎崲涓?
select distinct deptno,job from emp; --鍘繪帀2涓瓧孌靛肩殑緇勫悎

select * from emp where deptno=10 and ename='CLARK';
select ename,sal from emp where sal>1500;
select ename,sal from emp where deptno<>10;
select ename,sal from emp where sal between 800 and 1500; -- sal>=800 and sal<=1500
select ename,sal,comm from emp where comm is null; --is not null
select ename,sal,comm from emp where sal in (800,1500); -- not in (800,1500)

select ename from emp where ename like '_A%' -- %涓?涓垨澶氫釜錛?涓?涓?br /> select ename from emp where ename like '%\%%' -- 鍚嶅瓧鍚湁%錛岄渶瑕乗涓鴻漿涔夊瓧絎﹀鐞?br /> select ename from emp where ename like '%$%%' escape '$'  -- 鍙互浣跨敤$浣滀負杞箟瀛楃

select ename,sal,deptno from emp order by deptno asc,ename desc;  -- 鍗囧簭asc錛岄檷搴?desc



鏂偣 2010-06-30 00:45 鍙戣〃璇勮
]]>
瀛樺偍榪囩▼-1http://www.tkk7.com/tfzhu/archive/2010/01/31/311399.html鏂偣鏂偣Sun, 31 Jan 2010 09:48:00 GMThttp://www.tkk7.com/tfzhu/archive/2010/01/31/311399.htmlhttp://www.tkk7.com/tfzhu/comments/311399.htmlhttp://www.tkk7.com/tfzhu/archive/2010/01/31/311399.html#Feedback0http://www.tkk7.com/tfzhu/comments/commentRss/311399.htmlhttp://www.tkk7.com/tfzhu/services/trackbacks/311399.html闇姹傦細瀵筗EB_CUS_CLENT鏈烘瀯涓虹┖鐨勮繘琛屼慨鏀癸紝閫氳繃WEB_CUS_CLENT瀹㈡埛緙栫爜鏌ユ壘鎶曚繚浜篧EB_PLY_APPLICANT鐨勭敵璇峰崟鍙鳳紝閫氳繃鐢寵鍗曞彿鏌ユ壘web_PLY_BASE鏌ユ壘鎵夸繚鏈烘瀯銆?/span>

CREATE OR REPLACE PROCEDURE V6.P_WEB_CUS_CLINT_DPT
IS

--澧為噺鎶藉彇瀹㈡埛淇℃伅鏁版嵁
v_task_start_date          date                    ;
v_task_end_date            date                    ;
v_sql_code                 number       :=0        ;
v_sql_msg                  VARCHAR2(4000) := ''    ; --sql閿欒淇℃伅
V_Cus_Client               Web_Cus_Client%rowtype  ;
V_UPD_TM                   date;
V_APP_NO                   varchar2(50);
V_DPT_CDE                  varchar2(50);
V_COUNT                    number(4,0);

cursor CUR_WEB_CUS_ADD is
select *
from Web_Cus_Client
a where a.C_DPT_CDE is null;

BEGIN
  SELECT SYSDATE INTO v_task_start_date FROM dual; --浠誨姟寮濮嬫椂闂村拰浠誨姟緇撴潫鏃墮棿
  SELECT SYSDATE INTO v_task_end_date FROM dual;
  v_sql_msg := '瀵筗EB_CUS_CLENT鏈烘瀯涓虹┖鐨勮繘琛屼慨鏀?;
 
 open CUR_WEB_CUS_ADD;
     loop
       fetch CUR_WEB_CUS_ADD into V_Cus_Client;
       exit when CUR_WEB_CUS_ADD% notfound;
       v_sql_msg := V_Cus_Client.c_Clnt_Cde||'瀵筗EB_CUS_CLENT鏈烘瀯涓虹┖鐨勮繘琛屼慨鏀?;
       V_COUNT :=0;
     select count(1) into V_COUNT from WEB_PLY_APPLICANT a where a.C_APP_CDE=V_Cus_Client.c_Clnt_Cde;
     if(V_COUNT>0) then
       select max(T_CRT_TM) into V_UPD_TM from WEB_PLY_APPLICANT a where a.C_APP_CDE=V_Cus_Client.c_Clnt_Cde;
       select max(C_APP_NO) into V_APP_NO from WEB_PLY_APPLICANT a where a.T_CRT_TM=V_UPD_TM and a.C_APP_CDE=V_Cus_Client.c_Clnt_Cde;
       select C_DPT_CDE into V_DPT_CDE from web_PLY_BASE a where a.C_APP_NO=V_APP_NO;
       update WEB_CUS_CLIENT a set a.C_DPT_CDE=V_DPT_CDE where a.C_CLNT_CDE=V_Cus_Client.c_Clnt_Cde;
     end if;
     commit;
   end loop;
 close CUR_WEB_CUS_ADD;

 --鍐欎換鍔℃棩蹇?br />   v_sql_code    :=0;
  v_sql_msg     := 'NORMAL, SUCCESSFUL COMPLETION';
  SELECT SYSDATE INTO v_task_end_date FROM dual;
 INSERT INTO LOAD_HIS_LOG
   (  SYS
     ,JOBNAME
     ,START_DATE
     ,END_DATE
     ,RUN_DATE
     ,SQL_CODE
     ,SQL_STATE
   )
  VALUES
    ('V5_MID'
     ,'P_WEB_CUS_CLINT_DPT'
     ,v_task_start_date
     ,v_task_end_date
     ,to_char((v_task_end_date - v_task_start_date) * 86400)
     ,v_sql_code
     ,v_sql_msg
    );
  COMMIT;

EXCEPTION
  WHEN OTHERS THEN
    v_sql_code := SQLCODE;
    v_sql_msg  := v_sql_msg || ' ' || ' : ' || SQLERRM;
    SELECT SYSDATE INTO v_task_end_date FROM dual;  --浠誨姟緇撴潫鏃墮棿
    ROLLBACK;
    INSERT INTO LOAD_HIS_LOG
   (  SYS
     ,JOBNAME
     ,START_DATE
     ,END_DATE
     ,RUN_DATE
     ,SQL_CODE
     ,SQL_STATE
   )
  VALUES
    ('V5_MID'
     ,'P_WEB_CUS_CLINT_DPT'
     ,v_task_start_date
     ,v_task_end_date
     ,to_char((v_task_end_date - v_task_start_date) * 86400)
     ,v_sql_code
     ,v_sql_msg
    );
  COMMIT;
END ;



鏂偣 2010-01-31 17:48 鍙戣〃璇勮
]]>
主站蜘蛛池模板: 亚洲精品中文字幕无码蜜桃| 午夜国产大片免费观看| 亚洲人成中文字幕在线观看| 久久亚洲AV成人无码国产电影| 成年在线网站免费观看无广告 | 麻豆国产VA免费精品高清在线| 亚洲国产视频网站| 久九九精品免费视频| 亚洲午夜精品久久久久久app | 亚洲AV无码久久久久网站蜜桃| 人禽杂交18禁网站免费| 亚洲中文字幕乱码熟女在线| 永久黄网站色视频免费观看| 国产精品亚洲专一区二区三区| 亚洲国产成人精品女人久久久| 成人免费av一区二区三区| 亚洲春色在线视频| 免费观看激色视频网站(性色)| 亚洲五月综合网色九月色| 免费无码又爽又刺激毛片| 特黄特色大片免费| 国产亚洲精品岁国产微拍精品| 57pao一国产成永久免费| 亚洲综合色婷婷在线观看| 国产一级淫片视频免费看| 黄桃AV无码免费一区二区三区| 亚洲午夜免费视频| 免费一本色道久久一区| 永久免费观看黄网站| 亚洲精品天天影视综合网| 最近2019中文字幕mv免费看| 一个人免费观看日本www视频| 亚洲春色在线视频| 黑人粗长大战亚洲女2021国产精品成人免费视频 | 在线观看国产一区亚洲bd| 亚洲色自偷自拍另类小说| 我们的2018在线观看免费高清| 国产AV日韩A∨亚洲AV电影| 亚洲AV永久纯肉无码精品动漫 | 亚洲成色999久久网站| 在线观看免费宅男视频|