国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > Oracle > 正文

擁有不同主鍵的表能否進行映射

2024-08-29 13:03:51
字體:
來源:轉載
供稿:網友

問:我有這么一個表:
 =======================================
  TABLE1

  temp1 varchar(10)

  temp2 varchar(10)

  temp3 varchar(10)

  temp4 varchar(10)

  temp5 varchar(10)

  temp6 varchar(10)

  在這個表中,temp1 、temp2、 temp3、 temp4是主鍵

  另外還有一個表

  =======================================
  TABLE2

  temp1 varchar(10)

  temp2 varchar(10)

  temp3 varchar(10)

  temp4 varchar(10)

  temp5 varchar(10)

  temp6 varchar(10)

  在這個表中,temp1、temp2、temp3、temp4、temp5是主鍵。

  現在我想從表1拷貝所有的數據到表2中。問題是在表1中,temp5字段可以擁有相同的值,而在表2中,temp5是一個主鍵。請問這個問題該如何解決呢?

  答:有一點我感覺奇怪,就是表的所有列都叫temp,類型和長度也都相同;這樣的兩個表似乎不太容易彼此映射。

  如果列的命名果真如此,那為何不簡單地將表1的主鍵列映射到表2中呢?比如:

  Insert into table2 (

  temp1, temp2, temp3, temp5, -- primary key

  temp4, temp6 -– non-key columns

  )

  Select temp1, temp2, temp3, temp4, –- primary key

  temp5, temp6 -– non-key columns

  from table1;

  一旦表2加載之后,你就可以弄明白該如何處理temp4與temp5了。

  但如果你確實需要精確地匹配所有列,那么你可以將復制的行拋給其他表,然后分別決定它們的命運。可能這樣的行也不會很多。

  你可以選擇下面的一種方法:

  •   從表1中每次取出一行,然后將它們插入到表2中。捕獲dup_val_on_index Exception然后將行拋給“exception”表。這樣就可以和表1一樣了。
  •   暫時停止主鍵約束,加載行,然后重新開啟主鍵約束,把行的urowid拋給一個exception表。但是要記住,除非你修復所有拷貝,否則主鍵就不存在。Exception表必須使用Oracle提供的腳本UTLEXPT1. SQL來創建。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 麦盖提县| 万年县| 石渠县| 五大连池市| 石门县| 光泽县| 龙门县| 璧山县| 安庆市| 余姚市| 都安| 鸡西市| 金阳县| 徐州市| 利辛县| 民县| 大同市| 扎鲁特旗| 岐山县| 富宁县| 渭源县| 普宁市| 荣成市| 凤山市| 广水市| 昌平区| 绥中县| 巨野县| 治县。| 麟游县| 贵阳市| 黎平县| 阿克苏市| 浮梁县| 塔河县| 海原县| 济宁市| 德州市| 龙州县| 米脂县| 北票市|