Ⅰ 怎么用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电子表格软件中的数据进行转换,为我们提供了极大方便!