自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何用Excel操作Oracle

數(shù)據(jù)庫 Oracle 數(shù)據(jù)庫運(yùn)維
想過一個(gè)問題嗎?Excel是最常用的存儲(chǔ)數(shù)據(jù)的一個(gè)工具,但是當(dāng)數(shù)量過大的時(shí)候,查詢會(huì)多有不便,能不能將Excel和某種數(shù)據(jù)庫打通,便于我們對(duì)數(shù)據(jù)的使用呢?

想過一個(gè)問題嗎?Excel是最常用的存儲(chǔ)數(shù)據(jù)的一個(gè)工具,但是當(dāng)數(shù)量過大的時(shí)候,查詢會(huì)多有不便,能不能將Excel和某種數(shù)據(jù)庫打通,便于我們對(duì)數(shù)據(jù)的使用呢?本文將介紹如何能將Excel表格中的數(shù)據(jù)導(dǎo)入到Oracle。當(dāng)我們把數(shù)據(jù)導(dǎo)入到了Oracle中,還能用Excel對(duì)其進(jìn)行更新維護(hù)嗎?本文也會(huì)告訴你一種方法。

首先提供一種間接的思路:

利用Sql Server和Excel的近親關(guān)系,在Sql Server中利用OpenDataSource方法讀取Excel,并把數(shù)據(jù)拼寫成符合oracle的sql語句。

(sql server2005需要手工開啟OpenDataSource功能,sql server2005 -> 配置工具 -> 外圍應(yīng)用配置器 -> 功能的外圍應(yīng)用配置器 -> Database Engine -> 即席遠(yuǎn)程查詢,如下圖所示)

在sql server中執(zhí)行如下代碼:

需要注意:

1)請(qǐng)?zhí)峁┱_的文件路徑和Sheet名稱;

2)關(guān)閉要讀取的Excel文件,否則會(huì)報(bào)錯(cuò);

3)確保to_date函數(shù)對(duì)應(yīng)的字段在Excel中為日期類型;

用Excel插入、更新Orcale

  1. SELECT  'update userinfo set Useducation = ''' 
  2.         + CASE WHEN [現(xiàn)文化程度] IS NULL THEN '' 
  3.                 ELSE [現(xiàn)文化程度] END 
  4.         + CASE WHEN [技術(shù)等級(jí)] IS NULL THEN '' 
  5.                 ELSE ''', Usskilllevel = ''' + [技術(shù)等級(jí)] END +  '''' 
  6.         + CASE WHEN [加入黨派日期] IS NULL THEN '' 
  7.                 ELSE ', Usdangtuantime = to_date(''' + CONVERT(VARCHAR(12), [加入黨派日期], 110)+ ''',''mm-dd-yyyy'')' END 
  8.         + CASE WHEN [入路工作日期] IS NULL THEN '' 
  9.                 ELSE ', Usinputtime = to_date(''' + CONVERT(VARCHAR(12), [入路工作日期], 110)+ ''',''mm-dd-yyyy'')' END 
  10.         + CASE WHEN [出生日期] IS NULL THEN '' 
  11.                 ELSE ', Usbirthdate = to_date(''' + CONVERT(VARCHAR(12), [出生日期], 110)+ ''',''mm-dd-yyyy'')' END             
  12.         + ' where Uscardid =''' + [身份證號(hào)] + ''';'              
  13. FROM    OPENDATASOURCE('Microsoft.Jet.OLEDB.4.0'
  14.                        'Data Source=D:\gongren.xls;Extended Properties=Excel 8.0')...[Sheet1$] 
  1. -----執(zhí)行結(jié)果如下:----- 
  2. view sourceprint? 
  3. update userinfo set Useducation = '中等???, Usinputtime = to_date('12-25-2000','mm-dd-yyyy'), Usbirthdate = to_date('09-06-1976','mm-dd-yyyy'where Uscardid ='132430197609061413'
  4. update userinfo set Useducation = '大學(xué)', Usskilllevel = '中級(jí)工', Usdangtuantime = to_date('07-11-2000','mm-dd-yyyy'), Usinputtime = to_date('07-01-2003','mm-dd-yyyy'), Usbirthdate = to_date('08-21-1979','mm-dd-yyyy'where Uscardid ='132826197908210332'
  5. update userinfo set Useducation = '大專', Usskilllevel = '高級(jí)工', Usdangtuantime = to_date('07-03-2001','mm-dd-yyyy'), Usinputtime = to_date('01-01-2005','mm-dd-yyyy'), Usbirthdate = to_date('10-26-1980','mm-dd-yyyy'where Uscardid ='132421198006260032'

在pl/sql中執(zhí)行上述代碼就行了。

原文鏈接:http://www.cnblogs.com/libinlink/archive/2011/07/12/2104024.html

【編輯推薦】

  1. Oracle SQL:經(jīng)典查詢練手
  2. Oracle分頁小談
  3. Oracle數(shù)據(jù)庫11g基準(zhǔn)測(cè)試中表現(xiàn)卓越
  4. Oracle數(shù)據(jù)庫日常維護(hù)知識(shí)總結(jié)
責(zé)任編輯:艾婧 來源: 博客園
相關(guān)推薦

2010-04-20 14:06:56

Oracle SQL語

2011-06-03 10:06:57

MongoDB

2020-12-10 10:46:23

PythonExcel圖片

2009-06-22 11:52:00

javascriptxml

2011-07-18 14:00:29

RailsOracle

2010-04-16 11:03:02

Oracle存儲(chǔ)過程

2017-07-20 21:06:44

PythonExcelSQL

2010-05-06 15:29:53

Oracle數(shù)據(jù)復(fù)制

2010-04-15 17:58:04

Oracle動(dòng)態(tài)視圖

2011-08-30 17:33:10

OracleSAS宏

2014-06-10 15:07:19

Oracle數(shù)據(jù)庫優(yōu)化

2009-08-18 16:20:09

C# 操作Excel

2009-08-18 16:14:05

C# 操作Excel

2010-04-29 12:39:20

Oracle SELE

2020-02-21 17:10:12

ExcelPython腳本語言

2019-09-18 10:07:24

ExcelSQL數(shù)據(jù)庫

2009-03-24 13:04:55

匯總組織結(jié)構(gòu)Oracle

2009-03-26 09:24:36

Oracle外鍵數(shù)據(jù)庫

2022-07-15 11:33:01

供應(yīng)鏈VR虛擬現(xiàn)實(shí)

2010-04-14 09:24:29

在Oracle數(shù)據(jù)庫
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)