你這叫更新嗎,你如果要更新,兩個表里都有id=7的,為什么7不就不更新了?
成都創(chuàng)新互聯(lián)公司云計算的互聯(lián)網(wǎng)服務(wù)提供商,擁有超過13年的服務(wù)器租用、樂山服務(wù)器托管、云服務(wù)器、雅安服務(wù)器托管、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗,已先后獲得國家工業(yè)和信息化部頒發(fā)的互聯(lián)網(wǎng)數(shù)據(jù)中心業(yè)務(wù)許可證。專業(yè)提供云主機、雅安服務(wù)器托管、主機域名、VPS主機、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。
先確認好需求,如果是把7也更新
update?name?a?set?(a.大名,a.中名,a.小名)=(select?b.大名,b.中名,b.小名?from?nam?b?where?a.id=b.id)?where?a.id?in(select?id?from?nam);
如果你只想更新1,2,3行,還不如把1,2,3行都刪了,重新插入進去。
看具體怎么更新了,一般語法是:
update?表名?set?字段='xxx'?where?條件;
commit;
這個所有數(shù)據(jù)庫基本一致,都是這個語法
操作步驟如下:
準(zhǔn)備數(shù)據(jù):在excel中構(gòu)造出需要的數(shù)據(jù)
2.將excel中的數(shù)據(jù)另存為文本文件(有制表符分隔的)
3.將新保存到文本文件中的數(shù)據(jù)導(dǎo)入到pl*sql中
在pl*sql中選擇tools--text
importer,在出現(xiàn)的窗口中選擇"Data
from
Textfile",然后再選擇"Open
data
file",
在彈出的文件選擇框中選中保存有數(shù)據(jù)的文本文件,此時將會看到data
from
textfile中顯示將要導(dǎo)入的數(shù)據(jù)
4.在configuration中進行如下配置
注:如果不將"Name
in
header"勾選上會導(dǎo)致字段名也當(dāng)做記錄被導(dǎo)入到數(shù)據(jù)庫中,從而導(dǎo)致數(shù)據(jù)錯誤
5.點擊data
to
oracle,選擇將要導(dǎo)入數(shù)據(jù)的表,并在fields中將文本中的字段與表中的字段進行關(guān)聯(lián)
6.點擊import按鈕進行導(dǎo)入
7.查看導(dǎo)入的數(shù)據(jù)
OK,至此數(shù)據(jù)導(dǎo)入成功。
單擊這里的服務(wù)器,可對表空間,用戶等進行管理
使用OEM創(chuàng)建oracle表空間(一)
單擊這里的表空間
使用OEM創(chuàng)建oracle表空間(一)
單擊這里可以繼續(xù)創(chuàng)建表空間
使用OEM創(chuàng)建oracle表空間(一)
這里輸入要創(chuàng)建的表空間的名稱
使用OEM創(chuàng)建oracle表空間(一)
輸入表空間名稱后,單擊確定按鈕
使用OEM創(chuàng)建oracle表空間(一)
這里提示一個錯誤,提示必須指定一個數(shù)據(jù)文件,所以我們在創(chuàng)建表空間時,必須添加一個數(shù)據(jù)文件給這個表空間使用
使用OEM創(chuàng)建oracle表空間(一)
單擊這里的添加,開始添加一個數(shù)據(jù)文件
使用OEM創(chuàng)建oracle表空間(一)
C#利用update更新數(shù)據(jù)到oracle數(shù)據(jù)庫:
第一步:打開oracle數(shù)據(jù)庫
public static string connString = "";
public static OracleConnection conn = null;
//打開數(shù)據(jù)庫連接
public static bool Open()
{
//從配置文件中獲取連接字符串
//配置文件需要放在項目目錄下的bin\Release中
connString = getXmlValue("connString");
conn = new OracleConnection(getXmlValue("connString"));
try
{
conn.Open();
Console.WriteLine("數(shù)據(jù)庫連接成功");
return true;
}
catch (System.Exception ex)
{
Console.Write(ex.Message);
MessageBox.Show("未能連接到數(shù)據(jù)庫");
return false;
}
第二步:執(zhí)行更新方法:
public static int update(int ruleId, int equipmentId, String equipmentName, String propertyName, int ruleType, String ruleRequest, String ruleRequestOther, String ruleExplain)
{
String sql = "update Device_Attr t set t.BASEID = :equipmentId, t.BASENAME = :equipmentName,t.CA_NAME = :propertyName,t.CA_RULETYPE = :ruleType,t.CA_RULETEXT = :ruleRequest,t.CA_RULETEXT2 = :ruleRequestOther,t.CONTENT = :ruleExplain where t.CA_ID =:ruleId";
OracleCommand cmd = new OracleCommand(sql, conn);
OracleParameter param_1 = new OracleParameter(":equipmentId", equipmentId);
cmd.Parameters.Add(param_1);
OracleParameter param_2 = new OracleParameter(":equipmentName", equipmentName + "$");
cmd.Parameters.Add(param_2);
OracleParameter param_3 = new OracleParameter(":propertyName", propertyName);
cmd.Parameters.Add(param_3);
OracleParameter param_4 = new OracleParameter(":ruleType", ruleType);
cmd.Parameters.Add(param_4);
OracleParameter param_5 = new OracleParameter(":ruleRequest", ruleRequest);
cmd.Parameters.Add(param_5);
OracleParameter param_6 = new OracleParameter(":ruleRequestOther", ruleRequestOther);
cmd.Parameters.Add(param_6);
OracleParameter param_7 = new OracleParameter(":ruleExplain", ruleExplain);
cmd.Parameters.Add(param_7);
OracleParameter param_8 = new OracleParameter(":ruleId", ruleId);
cmd.Parameters.Add(param_8);
int result = cmd.ExecuteNonQuery();
return result;
}
可以用游標(biāo)來執(zhí)行更新,也可以用update語句更新。
但是oracle沒有update from語句,可以用子查詢來給源數(shù)據(jù)表的字段賦值,如果需要賦多個值的話,則用括號括起來,格式:
update?table_name
set?(field1,?field2,?...?)?=?(select?value1,?value2,?...?from?source_table)
where?...
而where條件中則可以用exists測試是否要更新記錄。更新語句大概這樣:
update?A?s1
set?a5?=?(select?b6?
from?B?s2?
where?s2.b1?=?s1.a1?and?s2.b2?=?s1.a2?and?s2.b3?=?s1.a3?and?rownum?=?1)
where?exists?(
select?b6?
from?B?s2?
where?s2.b1?=?s1.a1?and?s2.b2?=?s1.a2?and?s2.b3?=?s1.a3?and?rownum?=?1
)
即賦值子句和where條件是類似的。
網(wǎng)站名稱:oracle如何更新表,oracle 更新表數(shù)據(jù)
當(dāng)前鏈接:http://vcdvsql.cn/article4/hshjoe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機網(wǎng)站建設(shè)、網(wǎng)站排名、標(biāo)簽優(yōu)化、企業(yè)網(wǎng)站制作、用戶體驗、App設(shè)計
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)