程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> 【pl/sql】將一個表中符合條件的記錄拷貝到另一個表中

【pl/sql】將一個表中符合條件的記錄拷貝到另一個表中

編輯:關於SqlServer
一、基本語句
insert   into   tablename fieldname   select   fIEldname   from   tablename;
二、利用cursor及fetch將一個表中符合條件的記錄拷貝到另一個表中 
晚上的時間,都是我自己的,我就好好的利用這個時間來學習學習Oracle,去年學過的東西都忘得差不多了,現在趁機會還沒有忘完之前拿起來。
今天看了一下匿名塊、函數、過程等,想起原來用過光標cursor及fetch,也是快忘得差不多了,那今天就來試試把一個表裡面的數據拷貝到另外一個結構完全相同的表裡面,不過,有一個條件就是原表的ID必須為5的倍數的才能夠被插入,否則不取。
在開始之前,還是先來復習一點東西:
1、匿名塊的格式基本就如下面所示
[declare]
/*變量定義區,也可做初使化等*/
begin
/*開始區,執行順序SQL語句*/
[exception]
/*異常處理區,可進行異常處理,異常的拋出使用raise關鍵字*/
end;
其中方框裡面的為可選項,不作為必須。
2、fetch
1)首先要定義cursor,如cursor id_cur is select id from components
2)然後打開cursor:open id_cur
3)第三是使用fetch從cursor並保存到變理中
4)第四關閉cursor
那就把上面說到的功能實現,代碼如下:

declare
       num_id integer;/*定義變量*/
       sql_str varchar(1000);
       cursor id_cur is select id from components;/*用光標取ID*/
begin
       open id_cur;/*打開光標執行*/
       loop/*一直執行下去*/
            fetch id_cur into num_id;/*根據光標
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved