SQL Insert問題?? |
答題得分者是:SwingGuppy
|
ponthomas
一般會員 發表:1 回覆:1 積分:0 註冊:2007-04-25 發送簡訊給我 |
|
bruce
中階會員 發表:19 回覆:121 積分:83 註冊:2002-04-16 發送簡訊給我 |
|
bruce
中階會員 發表:19 回覆:121 積分:83 註冊:2002-04-16 發送簡訊給我 |
|
salo0610
高階會員 發表:42 回覆:120 積分:107 註冊:2003-02-18 發送簡訊給我 |
用SELECT 建立記錄和表
你也許已經注意到,INSERT 語句與DELETE語句和UPDATE語句有一點不同,它一次只操作一個記錄。然而,有一個方法可以使INSERT 語句一次加入多個記錄。要作到這一點,你需要把INSERT 語句與SELECT 語句結合起來,象這樣: INSERT mytable (first_column,second_column) SELECT another_first,another_second FROM anothertable WHERE another_first=’Copy Me!’ 這個語句從anothertable拷貝記錄到mytable.只有表anothertable中欄位another_first的值為’Copy Me!’的記錄才被拷貝。 當為一個表中的記錄建立備份時,這種形式的INSERT 語句是非常有用的。在刪除一個表中的記錄之前,你可以先用這種方法把它們拷貝到另一個表中。 如果你需要拷貝整個表,你可以使用SELECT INTO 語句。例如,下面的語句建立了一個名為newtable的新表,該表包含表mytable的所有資料: SELECT * INTO newtable FROM mytable 你也可以指定只有特定的欄位被用來建立這個新表。要做到這一點,只需在欄位清單中指定你想要拷貝的欄位。另外,你可以使用WHERE 子句來限制拷貝到新表中的記錄。下面的例子只拷貝欄位second_columnd的值等於’Copy Me!’的記錄的first_column欄位。 SELECT first_column INTO newtable FROM mytable WHERE second_column=’Copy Me!’ 使用SQL修改已經建立的表是很困難的。例如,如果你向一個表中加入了一個欄位,沒有容易的辦法來去除它。另外,如果你不小心把一個欄位的資料型式給錯了,你將沒有辦法改變它。但是,使用本節中講述的SQL語句,你可以繞過這兩個問題。例如,假設你想從一個表中刪除一個欄位。使用SELECT INTO 語句,你可以建立該表的一個拷貝,但不包含要刪除的欄位。這使你既刪除了該欄位,又保留了不想刪除的資料。如果你想改變一個欄位的資料型式,你可以建立一個包含正確資料型式欄位的新表。建立好該表後,你就可以結合使用UPDATE語句和SELECT 語句,把原來表中的所有資料拷貝到新表中。通過這種方法,你既可以修改表的結構,又能存檔原有的資料。 |
SwingGuppy
初階會員 發表:1 回覆:18 積分:38 註冊:2006-12-28 發送簡訊給我 |
遇不同資料庫時可朝兩個方向擇一去處理:
1.交給Delphi處理:使用BatchMove元件(BDE) BatchMove用法: BatchMove.Source:=來源資料DataSet BatchMove.Destination:=目的地DataSet BatchMove.Mode:=batAppend(新增);batAppendUpdate(找不到重複時新增,遇重複則Update) BatchMove.Execute; 2.交給資料庫處理:建立 LinkServer 後可直接在Query內下指令。 LinkServer 請查閱 各 Database 的文件。 ===================引 用 ponthomas 文 章=================== 請問~~ 如何把Query查詢出來的資料,當作來源,整批insert進入另外一個table, 而不是一筆一筆insert,因為Query查詢的資料來源跟要insert進入的table是屬於不同Database 是否有方式可達成呢?請指教,謝謝
------
受人點滴,湧泉以報。 |
ponthomas
一般會員 發表:1 回覆:1 積分:0 註冊:2007-04-25 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |