Ⅰ 怎麼用sql命令把Excel中的數據導入word中去
SQL SERVER 和EXCEL的數據導入導出
1、在SQL SERVER里查詢Excel數據:
SELECT *
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\book1.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$]
下面是個查詢的示例,它通過用於 Jet 的 OLE DB 提供程序查詢 Excel 電子表格。
SELECT *
FROM OpenDataSource ( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\Finance\account.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions
2、將Excel的數據導入SQL server :
SELECT * into newtable
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\book1.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$]
實例:
SELECT * into newtable
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\Finance\account.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions
3、將SQL SERVER中查詢到的數據導成一個Excel文件
T-SQL代碼:
EXEC master..xp_cmdshell 'bcp 庫名.dbo.表名out c:\Temp.xls -c -q -S"servername" -U"sa" -P""'
參數:S 是SQL伺服器名;U是用戶;P是密碼
說明:還可以導出文本文件等多種格式
實例:EXEC master..xp_cmdshell 'bcp saletesttmp.dbo.CusAccount out c:\temp1.xls -c -q -S"pmserver" -U"sa" -P"sa"'
EXEC master..xp_cmdshell 'bcp "SELECT au_fname, au_lname FROM pubs..authors ORDER BY au_lname" queryout C:\ authors.xls -c -Sservername -Usa -Ppassword'
在VB6中應用ADO導出EXCEL文件代碼:
Dim cn As New ADODB.Connection
cn.open "Driver={SQL Server};Server=WEBSVR;DataBase=WebMis;UID=sa;WD=123;"
cn.execute "master..xp_cmdshell 'bcp "SELECT col1, col2 FROM 庫名.dbo.表名" queryout E:\DT.xls -c -Sservername -Usa -Ppassword'"
4、在SQL SERVER里往Excel插入數據:
insert into OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\Temp.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...table1 (A1,A2,A3) values (1,2,3)
T-SQL代碼:
INSERT INTO
OPENDATASOURCE('Microsoft.JET.OLEDB.4.0',
'Extended Properties=Excel 8.0;Data source=C:\training\inventur.xls')...[Filiale1$]
(bestand, prokt) VALUES (20, 'Test')
Ⅱ Sql 中如何在函數中傳遞表名參數
我查遍網路找不到,2020.06.28 18:45原創一個目前你能找到的唯一權宜之計:
因sql的函數本身不支持對實體表進行增、刪、改,所以對實體表進行的insert、update、delete均不可用、另外exec也被禁用了,因為動態表名和動態欄位值不會太多,所以想到寫枚舉解決。
--如果函數返回表為@ab table (a1 varchar(100), a2 varchar(100))
--如果表名為@tableName
if @tableName='表1'
insert into @ab select a1,a2 from 表1 where ...
if @tableName='表2'
insert into @ab select a1,a2 from 表2 where ...
如果有欄位名參數為@fieldName,欄位值參數@fieldValue
if @fieldName='a1'
delete from @ab where a1 not like '%' + @fieldValue + '%'
if @fieldName='a2'
delete from @ab where a2 not like '%' + @fieldValue + '%'
--對@ab的其它業務邏輯
...
return
Ⅲ sql 傳參數
select * from table where publishdate>=@A and publishdate<@B
@B最好大於你的截止時間,例如截止到0825,@B='2012-08-26'
Ⅳ 如何傳遞參數到 SQL 腳本
可以這么寫,把目錄下file_1,file_2,file_3 文件名保存在一個文本文件里, 這個文件叫file.txt,格式一行一個文件名。比如腳本叫test.sh 使用:./test.sh file.txt 這樣就循環讀取文本中每行的文件名並代入到變數filename 或者你也可以通過files=($(ls -l | grep ^- | awk '{print $8}')) 截取一個files數組然後,for filename in ${files[*]} 往for循環里套。 #!/bin/bash while read filename do sqlplus -S g471725/g471725 <<EOF define v_input_file=$filename @sql.sql exit EOF done < $1
Ⅳ 調用.sql文件有沒有比較好的參數傳遞方法
d:\test.sql腳本如下: [sql] view plain select &1 from &2; exit; 執行時這樣傳參數:sqlplus "scott/tiger@test" @d:\test.sql sysdate al 注意:參數必須用&[1-9]表示,不然傳不進去,會提示讓手動輸入參數 [sql] view plain C:\>sqlpl...
Ⅵ 在sql server2000中如何導出數據
1、打開資料庫選擇所需要操作的資料庫。
Ⅶ 如何使用SQLloader導入數據
1、打開要導出為oracle的Excel,將Excel文件保存為test.txt文件(文件->另存為)
2、創建SQL*Loader輸入數據所需要的文件,均保存到C:,用記事本編輯:
控制文件:input.ctl,內容如下:
load data--1、控制文件標識
infile 'test.txt'
--2、要輸入的數據文件名為.txt,注意路徑
append intotable Table_Name --3、向oracle表中追加記錄
fields terminatedby X'09'
--4、欄位終止於X'09',是一個製表符(TAB)
(Col1,Col2…) 定義列對應順序
a、insert,為預設方式,在數據裝載開始時要求表為空
b、append,在表中追加新記錄
c、replace,刪除舊記錄,替換成新裝載的記錄
d、truncate,同上
3、在DOS窗口下使用SQL*Loader命令實現數據的輸入
C:>sqlldr userid=system/managercontrol=input.ctl
默認日誌文件名為:input.log
默認壞記錄文件為:input.bad
4、ok,現在就可以查看數據是否導入了。
ORACLESQL
Loader的詳細語法
SQL*LOADER是ORACLE的數據載入工具,通常用來將操作系統文件遷移到ORACLE資料庫中。SQL*LOADER是大型數據倉庫選擇使用的載入方法,因為它提供了最快速的途徑(DIRECT,PARALLEL)。
要使用SQL*Loader,必須編輯一個控制文件(.ctl),及一個數據文件(.dat)
首先,我們認識一下SQL*LOADER
在windows下,SQL*LOADER的命令為SQLLDR,在UNIX下一般為sqlldr/sqlload。
如執行:d:\oracle>sqlldr
用法: SQLLOAD 關鍵字=值 [,keyword=value,...]
例如:>sqlldr user/pass
control=控制文件名 log=日誌文件名
SQL*LOADER參數列表
參數名稱 功能描述
Userid
資料庫用戶名及口令
Control 控制文件名稱,描述數據載入的文件信息
Log 日誌文件名稱,用於記錄數據載入過程的信息
Bad 壞信息文件名稱,用於記錄不符合要求的數據信息
Data 數據文件名稱,記錄要載入的原始數據
Discard 丟掉文件名稱,記載了不滿足條件而被過濾的數據
Discardmax 允許丟掉數據量,默認為全部丟掉
Skip 跳過幾個邏輯記錄,預設為0
Load 要載入的記錄數,默認為全部載入
Errors 允許出現的錯誤數,預設為50
Direct 是否使用直接路徑載入數據,默認為false
Readsize 緩沖區大小默認為1048576位元組
1、首先創建空表
SQL>create table stu(stunonumber(5),name
varchar(10),addr varchar(20));
數據文件格式分為自由格式和固定格式
固定格式數據文件(mydata.txt)
001 SHUI LIAOHE
002 LIU BEIJING
其控制文件分別如下
#Load.ctl
Load data
Infile mydata.txt
Into table stu
(stuno position(01:03) integer external,
Name position(05:08) varchar,
Addr position(10:16) varchar)
導入數據
>sqlldr test1/test1
control=』d:\load.ctl』log=』d:\load.log』
自由格式數據文件(mydata.txt)
003,」shuics」,」new york」
004,」liujianxin」,」Beijing」
005,」shuiym」,」Canada」
其控制文件如下
#load.ctl
Load data
Infile mydata.txt
Append|insert|replace|truncate
Into table stu
Fields terminated by 『,』
Optionally enclosed by 『」』
(stuno,name,addr)
導入數據
將Excel數據載入到oracle資料庫
1、將excel文件另存為文本文件(製表符分隔)
2、創建控制文件如下
Load data
Infile 『book.txt』
Append
Into table stu
Fields terminated by X』09』
(stuno,name,addr)
其中X』09』是一個製表符(TAB)
Ⅷ sql怎麼使用參數化
採用sp_executesql 系統存儲過程,執行sql語句,就能傳入參數,
這就是sql參數化sql腳本參數化
你可以根據上面的例子,將sql腳本中定義參數,然後後面賦值參數變數,
在查詢分析器中執行,你就可以知道sql參數化的具體實現和概念了。
如有疑問,請及時溝通!
請採納!
Ⅸ 如何可以將SQL語句作為參數傳到存儲過程
將SQL語句作為參數傳到存儲過程,請參見一下示例:
--創建示範存儲過程
createproceremypro1(@strSqlnvarchar(4000))
as
executesp_executesql@strsql
go
--創建示範表並插入數據
createtabletest1(idintprimarykey,namenvarchar(50));
insertintotest1values(100,'Johnson');
--將SQL語句作為參數在存儲過程里執行
executemypro1'select*fromtest1;'
--刪除示範對象
droptabletest1;
dropproceremypro1
Ⅹ 如何用sql語句把excel中的數據導入指定資料庫中
SQL SERVER 和EXCEL的數據導入導出
1、在SQL SERVER里查詢Excel數據:
======================================================
SELECT *
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\book1.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$]
下面是個查詢的示例,它通過用於 Jet 的 OLE DB 提供程序查詢 Excel 電子表格。
SELECT *
FROM OpenDataSource ( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\Finance\account.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions
2、將Excel的數據導入SQL server :
======================================================
SELECT * into newtable
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\book1.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$]
實例:
SELECT * into newtable
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\Finance\account.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions
3、將SQL SERVER中查詢到的數據導成一個Excel文件
======================================================
T-SQL代碼:
EXEC master..xp_cmdshell 'bcp 庫名.dbo.表名out c:\Temp.xls -c -q -S"servername" -U"sa" -P""'
參數:S 是SQL伺服器名;U是用戶;P是密碼
說明:還可以導出文本文件等多種格式
實例:EXEC master..xp_cmdshell 'bcp saletesttmp.dbo.CusAccount out c:\temp1.xls -c -q -S"pmserver" -U"sa" -P"sa"'
EXEC master..xp_cmdshell 'bcp "SELECT au_fname, au_lname FROM pubs..authors ORDER BY au_lname" queryout C:\ authors.xls -c -Sservername -Usa -Ppassword'
在VB6中應用ADO導出EXCEL文件代碼:
Dim cn As New ADODB.Connection
cn.open "Driver={SQL Server};Server=WEBSVR;DataBase=WebMis;UID=sa;WD=123;"
cn.execute "master..xp_cmdshell 'bcp "SELECT col1, col2 FROM 庫名.dbo.表名" queryout E:\DT.xls -c -Sservername -Usa -Ppassword'"
4、在SQL SERVER里往Excel插入數據:
======================================================
insert into OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\Temp.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...table1 (A1,A2,A3) values (1,2,3)
T-SQL代碼:
INSERT INTO
OPENDATASOURCE('Microsoft.JET.OLEDB.4.0',
'Extended Properties=Excel 8.0;Data source=C:\training\inventur.xls')...[Filiale1$]
(bestand, prokt) VALUES (20, 'Test')
總結:利用以上語句,我們可以方便地將SQL SERVER、ACCESS和EXCEL電子表格軟體中的數據進行轉換,為我們提供了極大方便!