oracle數據庫update語句
update兩表關聯的寫法包括字查詢
* t2 set parentid=(select ownerid from t1 where *=*);
2. update tb_client_win_lost_report a set *g_code_id=2
where game_code_id=70000
and exists
(select 'x' from (select *
from (select id,level_ from tb_admin_role connect by prior id=parent_id start with id =1) a,
(select lv_id from tb_rolling_plan where rolling_code_id = 2 and game_code_id=70000) b
where *_id=*) c where *_id=*)
and rolling_code_id=1
3. update (select rolling_code_id from tb_client_win_lost_report a,temp_role_id b
where *_id=*
and rolling_code_id=1) a set *g_code_id=2;
4. update tb_client_win_lost_report a set *g_code_id=2
where game_code_id=70000
and exists
(select 'x' from (select id from temp_role_id) c where *_id=*)
and rolling_code_id=1
and rownumcommit;
* 多個字段的寫法
update a set (c1,c2,c3) =(select b1,b2,b3 from b where。。) where 。。;
SQL語句UPDATE指令是什么
我們有時候可能會需要修改表格中的資料。
在這個時候,我們就需要用到 UPDATE 指令。這個指令的語法是: UPDATE "表格名" SET "欄位1" = [新值] WHERE {條件} 最容易了解這個語法的方式是透過一個例子。
假設我們有以下的表格: Store_Information 表格 store_nameSalesDate Los Angeles$1500Jan-05-1999 San Diego$250Jan-07-1999 Los Angeles$300Jan-08-1999 Boston$700Jan-08-1999 我們發現說 Los Angeles 在 01/08/1999 的營業額實際上是 $500,而不是表格中所儲存的 $300,因此我們用以下的 SQL 來修改那一筆資料: UPDATE Store_Information SET Sales = 500 WHERE store_name = "Los Angeles" AND Date = "Jan-08-1999" 現在表格的內容變成: Store_Information 表格 store_nameSalesDate Los Angeles$1500Jan-05-1999 San Diego$250Jan-07-1999 Los Angeles$500Jan-08-1999 Boston$700Jan-08-1999 在這個例子中,只有一筆資料符合 WHERE 子句中的條件。 如果有多筆資料符合條件的話,每一筆符合條件的資料都會被修改的。
我們也可以同時修改好幾個欄位。這語法如下: UPDATE "表格" SET "欄位1" = [值1], "欄位2" = [值2] WHERE {條件}。
求 oracle update 語句 一個能用的例子
Update 語句
Update 語句用于修改表中的數據。
語法:
UPDATE 表名稱 SET 列名稱 = 新值 WHERE 列名稱 = 某值
更新某一行中的一個列
我們為 lastname 是 "Wilson" 的人添加 firstname:
UPDATE Person SET FirstName = 'Fred' WHERE LastName = 'Wilson'
更新某一行中的若干列
我們會修改地址(address),并添加城市名稱(city):
UPDATE Person SET Address = 'Zhongshan 23', City = 'Nanjing'
WHERE LastName = 'Wilson'
推薦你一個學習基礎的網站:
http://**sql/*
SQL的update語句怎么寫
UPDATE 表名稱 SET 列名稱 = 新值 WHERE 列名稱 = 某值,update語句的寫法:
1、UPDATE table_name
2、SET column1=value1,column2=value2,。
3、WHERE column(1)=value(1),column(2)=value(2)。and column(n)=value(n);
4、UPDATE Person SET Address = 'Zhongshan 23', City = 'Nanjing',WHERE LastName = 'Wilson'
擴展資料
SQL的update語句寫法的特點
1、一體化:SQL集數據定義DDL、數據操縱DML和數據控制DCL于一體,可以完成數據庫中的全部工作。
2、使用方式靈活:它具有兩種使用方式,即可以直接以命令方式交互使用;也可以嵌入使用,嵌入到C、C++、FORTRAN、COBOL、JAVA等主語言中使用。
3、非過程化:只提操作要求,不必描述操作步驟,也不需要導航。使用時只需要告訴計算機“做什么”,而不需要告訴它“怎么做”。
4、語言簡潔,語法簡單,好學好用:在ANSI標準中,只包含了94個英文單詞,核心功能只用6個動詞,語法接近英語口語。
參考資料來源:搜狗百科—update (數據庫SQL語法用語)
oracle數據庫update語句
1. 使用b表數據更新a表,那么where條件是什么,也就是說,更新a表中哪些數據,用b表中的哪些數據更新,二者的關系是什么。從你的語句中我看不出b表和a表的關聯。
2. 找到關聯條件后,通過關聯條件查出的b表數據是否唯一,如果不唯一,還是會出現“返回值多于一行”的錯誤。
3. 按照你的表結構和數據,假設A表和B表中的name列唯一,以name作為關聯,可以這樣寫來實現你的更新目的。
4. update A set cou2 = (select B_cou1 from B where B.B_name = *) where name in (select B_name from B where B.B_name = *)
5. 這條語句必須滿足name在a、b表中唯一的條件,才能使用。
6. 甲骨文股份有限公司是全球大型數據庫軟件公司,總部位于美國加州紅木城的紅木岸。在2008年,甲骨文股份有限公司是繼Microsoft及IBM后,全球收入第三多的軟件公司。
7. Oracle數據庫產品為財富排行榜上的前1000家公司所采用,許多大型網站也選用了Oracle系統。甲骨文股份有限公司于1989年正式進入中國,在北京、上海、廣州和成都均設立了分支機構。
8. 2016年1月,甲骨文表示會收購網站數據追蹤服務商AddThis。2016年2月,甲骨文收購了云計算創業公司Ravello Systems。2017年6月7日發布的2017年美國《財富》500強,甲骨文公司排名第81位。
9. 2017年6月,《2017年BrandZ最具價值全球品牌100強》公布,甲骨文公司排名第46位。
10. 20世紀約70年代一間名為Ampex的軟件公司,為中央情報局設計一套名叫Oracle的數據庫,埃里森是程序員之一。
Oracle10G常用維護語句有哪些
1 創建表空間 CREATE TABLESPACE CPORTAL LOGGING DATAFILE '/dev/raw/raw1' SIZE 30000M REUSE EXTENT MANAGEMENT LOCAL 2 創建用戶 CREATE USER CPORTAL PROFILE DEFAULT IDENTIFIED BY CPORTAL DEFAULT TABLESPACE CPORTAL TEMPORARY TABLESPACE TEMP ACCOUNT UNLOCK; GRANT CONNECT TO CPORTAL; GRANT RESOURCE TO CPORTAL; 3 參數修改 ALTER SYSTEM SET sga_target 1000M SCOPESPFILE; ALTER SYSTEM SET pga_aggregate_target 200M SCOPESPFILE; ALTER SYSTEM SET OPEN_CURSORS500 SCOPESPFILE; ALTER SYSTEM SET processes200 SCOPESPFILE; ALTER SYSTEM SET remote_login_passwordfile NONE SCOPESPFILE; create pfile from spfile; -- -- Modify the other oracle parameter! -- ALTER DATABASE TEMPFILE '/opt/oracle/oradata/cportal/temp01。
dbf' RESIZE 1024M; ALTER DATABASE DATAFILE '/opt/oracle/oradata/cportal/undotbs01。dbf' RESIZE 1024M; ALTER DATABASE DATAFILE '/opt/oracle/oradata/cportal/undotbs01。
dbf' AUTOEXTEND ON MAXSIZE 10240M 4 查看表空間名稱和大小 select t。tablespace_name,round(sum(bytes/(1024*1024)),0) ts_size from dba_tablespaces t dba_data_files d where t。
tablespace_name d。tablespace_name group by t。
tablespace_name; 5 查看表空間的使用情況 select sum(bytes)/(1024*1024) as free_space,tablespace_name from dba_free_space group by tablespace_name; 6、查看表空間物理文件的名稱及大小 select tablespace_name, file_id, file_name, round(bytes/(1024*1024),0) total_space from dba_data_files order by tablespace_name; 7、查看數據庫庫對象 select owner, object_type, status, count(*) count# from all_objects group by owner, object_type, status; 8、查看控制文件 select name from v$controlfile; 9、查看日志文件 select member from v$logfile; 10 。 結束用戶會話 alter system kill session 'SID,SERIAL#'; select sid,serial#,username,program,machine,status from v$session;。
oracle update語句的復雜寫法,求大神
好像是
一條update只能修改一張表里的字段,但是可以關聯多張表去修改。不知道你用的是什么數據庫。
常用的sqlserver格式如下:
update table1 set a.字段1=b.字段1,。.,a.字段N=b.字段N from table1 a,table2 b where 兩個表的關聯字段。
常用的oracle格式如下:
update table1 a set (a.字段1,。.,a.字段N) =(select b.字段1,。,b.字段N from table2 b where 兩個表的關聯字段) where exists (select 1 from table2 b where 兩個表的關聯字段)。
注意oracle語句里的exists不能省略,否則會導致沒有對應關系的數據修改錯誤,甚至會報錯。
如何使用Oracle10gMERGE語句更新數據行
在Oracle 9i R2版中引入的MERGE語句通常被稱作“更新插入”(upsert),因為使用MERGE可以在同一個步驟中更新(update)并插入(insert)數據行,對于抽取、轉換和載入類型的應用軟件可以節省大量寶貴的時間,比如向數據倉庫中加載數據,數據倉庫中沒有的數據行可以插入到數據倉庫中,而已經存在的數據行也同時被更新。
在MERGE語句引入的時候,需要同時使用一條UPDATE和一條INSERT語句,順序也是固定的(先使用UPDATE語句,然后是INSERT語句)。如果您只需要使用其中的某一條一句,您只需要使用現有的INSERT或者UPDATE語句,而不必使用MERGE語句,而刪除數據可以使用DELETE語句。
在Oracle 10g R1版中,MERGE語句發生了變化,UPDATE或INSERT語句不再是必須的,而是可選項,您可以兩者都用也可以都不用,而且,UPDATE語句也具備了DELETE的功能,您可以在同一個步驟中對現有的有效記錄進行升級并清理廢棄的記錄。 列表A創建了一個表格列出現有項目:項目號碼、標題、開始日期、進度完成比例以及員工對項目的響應,還創建了一個事務表格使用MERGE語句進行升級批處理。
DROP TABLE open_projects; DROP TABLE project_updates; CREATE TABLE open_projects (pno NUMBER (6) PRIMARY KEY, title VARCHAR2(40), startdate DATE, pctdone NUMBER (3), empno NUMBER (6) ); INSERT INTO open_projects VALUES (10, 'Inventory servers', '08-JAN-07',0, 206); INSERT INTO open_projects VALUES (20, 'Upgrade Oracle on SRV01','15-JAN-07', 0, 206); INSERT INTO open_projects VALUES (30, 'Conduct skills assessment','22-JAN-07', 0, 210); CREATE TABLE project_updates (action CHAR (1), pno NUMBER (6), pctdone NUMBER (3), empno NUMBER (6) ); INSERT INTO project_updates VALUES ('C', 10, 50, 214); INSERT INTO project_updates VALUES ('D', 20, NULL, NULL); COMMIT; 列表A 一個典型的MERGE語句從識別表格開始執行升級,而且對現有的記錄進行篩選測試: MERGE INTO open_projects op USING project_updatespu ON (op。 pno = pu。
pno) 。
。 表格open_projects會接受更新的數據,而project_updates表格則不會改變,如果項目號碼(pno)在兩個表格中都一樣,那么數據行則被認為是相同的。
MERGE語句剩下的部分是更新語句,以及DELETE WHERE語法。 。
。
WHEN MATCHED THEN UPDATE SET pctdone = pu。pctdone, empno = pu。
empno DELETE WHERE pu。action = 'D'; 列表B展示了MERGE語句運行前后的表格情況。
SQL> @mergedel_b PNO TITLE STARTDATE PCTDONE EMPNO ---------- ---------------------------------------- --------- ---------- ---------- 10 Inventory servers 08-JAN-07 0 206 20 Upgrade Oracle on SRV01 15-JAN-07 0 206 30 Conduct skills assessment 22-JAN-07 0 210。
轉載請注明出處華閱文章網 » oracle更新語句