当前位置:首页 » 编程语言 » accessinsertsql
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

accessinsertsql

发布时间: 2022-08-11 09:34:29

A. sql和access数据库生成insert语句,请问怎么写

以前在网上看到的例子,应该就是你想要了

CREATE proc spGenInsertSQL (@tablename varchar(256))
as
begin
declare @sql varchar(8000)
declare @sqlValues varchar(8000)
set @sql =' ('
set @sqlValues = 'values (''+'
select @sqlValues = @sqlValues + cols + ' + '','' + ' ,@sql = @sql + '[' + name + '],'
from
(select case
when xtype in (48,52,56,59,60,62,104,106,108,122,127)

then 'case when '+ name +' is null then ''NULL'' else ' + 'cast('+ name + ' as varchar)'+' end'

when xtype in (58,61)

then 'case when '+ name +' is null then ''NULL'' else '+''''''''' + ' + 'cast('+ name +' as varchar)'+ '+'''''''''+' end'

when xtype in (167)

then 'case when '+ name +' is null then ''NULL'' else '+''''''''' + ' + 'replace('+ name+','''''''','''''''''''')' + '+'''''''''+' end'

when xtype in (231)

then 'case when '+ name +' is null then ''NULL'' else '+'''N'''''' + ' + 'replace('+ name+','''''''','''''''''''')' + '+'''''''''+' end'

when xtype in (175)

then 'case when '+ name +' is null then ''NULL'' else '+''''''''' + ' + 'cast(replace('+ name+','''''''','''''''''''') as Char(' + cast(length as varchar) + '))+'''''''''+' end'

when xtype in (239)

then 'case when '+ name +' is null then ''NULL'' else '+'''N'''''' + ' + 'cast(replace('+ name+','''''''','''''''''''') as Char(' + cast(length as varchar) + '))+'''''''''+' end'

else '''NULL'''

end as Cols,name

from syscolumns

where id = object_id(@tablename)

) T
set @sql ='select ''INSERT INTO ['+ @tablename + ']' + left(@sql,len(@sql)-1)+') ' + left(@sqlValues,len(@sqlValues)-4) + ')'' from '+@tablename
print @sql
exec (@sql)
end
GO

使用方法
exec spGenInsertSQL 表名

B. access数据库怎么导到SQL里

将Access数据导入到SQLserver中
在SQLserver中执行如下语句就能将Access
中B04表中的数据导入到SQLserver中的sqltablenaem表中
INSERT
INTO
sqltablename(sfield1,sfield2,sfield3,sfield4,sfield5,sfield6)
SELECT
CONVERT(char(10),afield1),afield2,afield3,afield4,afield5,afield6
FROM
opendatasource(
'Microsoft.Jet.OLEDB.4.0','Data
Source="c:docaccessdb.mdb";Jet
OLEDB:Database
Password=abc)...B04
说明:
1.CONVERT(char(10),afield1)可以对数据的类型进行转换,控制长度;
2.在“opendatasource(
'Microsoft.Jet.OLEDB.4.0','Data
Source="c:docaccessdb.mdb";Jet
OLEDB:Database
Password=abc)...B04”中Data
Source="c:docaccessdb.mdb为Access数据库的物理路径(保证两个数据库在一台机器上);
3.Password=abc中“abc”是Access数据库的密码,如果数据库无密码就不填写;
4.B04为在Access数据库中的表名;
5.也可以加一些条件如WHERE
afield='a'
and
...,有选择条件的导入数据

C. 用insert往access里插入日期/时间型数据,sql语句怎么写

sql语句里基本上是没有类型这一说的。
一般情况下,有带单引号和无引号的区别。

日期型变量你可以 '2004-1-25 20:58:30' 来表示
我用Oracle这样没问题。
需要注意的是,如果你的一个数据库客户端上输入sql语句执行的时候,需要将该客户端的日期格式设置一下。

D. Access里使用SQL命令,用INSERT命令插入

这种题都要来问答案,有这时间拍照上网,就不能在书上翻翻insert这个命令吗?数据库入门就是增删改查,就那四个命令,insert
/delete/upate/select,花上半个小时看一下你就能知道个大概,像这样的书上简单的问题也就会做了,建议提问者试试看,看看半小时能不能学会这几个命令。

E. 指教告诉access sql 的insert语句问题,是没有指定表的参数的 就是insert table1 value ("value1","value2

Access 与 Oracle/SQL Server 不同,
Access 的SQL中的查询的参数,无法命名。只能用 ? 来表明这是外部传入的参数.
因此,参数只能按照 SQL 中 ? 的顺序,进行添加.

例子:

/// <summary>
/// 用于 新增记录的 SQL 语句
/// </summary>
private const String INSERT_SQL = "INSERT INTO [team_member_type] ([member_type_code], [member_type_name]) VALUES (?, ?)";

表名table1后面紧跟的字段名称,就是不指定字段名称

insert table1 value ("value1","value2");

如果 table1 只有2个字段,而且都是 字符型的

那么楼主尝试把 value 修改为 values , insert 后面 加个 into 看看

也就是:
insert into table1 values ("value1","value2");

F. ACCESS数据如何导入SQL数据库

找开企业管理器 先在sql里建一数据库 选择所有任务 导入数据 选择数据源中选microsoft access 在把access数据库导入到mssql数据库时,应该注意的几个问题 在使用MSSQL SERVER的时候,和ACCESS有很多区别的,即使是用SQL SERVER导入ACCESS数据库,也有很多地方需要注意,这里,捡几个例子来说说。 1、在ACCESS中经常使用的自动编号字段,导入到MSSQL后,他并不是自增型的INT,需要手工设置,把导入后的自动编号字段的标识的“否”改为“是”,“种子”和“递增量”都为“1”,才能成为自动编号; 2、在MSSQL SERVER中,有许多保留字,在ACCESS中是没有的,当你把数据导入到MSSQL的时候,问题就出来了。MSSQL在导入的时候,会自动给这些字段(包括数据库中的表名)加上“[字段名]”,因此,你必须修改你的脚本,把相应的字段名字(或者表名字)加上中括号,或改变字段名字为不是MSSQL的保留字。(具体是那些,请参考有关资料)

G. 如何向access数据库导入sql文件

一.使用SQL Server的数据库导入/导出功能。首先在要导入到的SQL Srever数据库上右键,选择“任务”,然后选择“导入数据”,按照提示下一步直到完成即可成功将Access数据库导入到SQL Server数据库中,此种方法如果SQLServer数据库中没有相应的数据表,则会自动创建改表,但是约束等表关系不会同步导入,如果SQLServer中有相同名称并且属性相同的数据表,则会直接将Access数据库中的对应表的数据导入。
在导入过程中,还可以通过SQL语句指定要导入的数据。
使用这种方法一般会出现以下两种错误:
(1)无法建立数据流连接
为连接管理器“{FFBF32BF-EE84-4F94-ACDB-D4C5AC4C2941}”指定的连接类型“OLEDB”未被识别为有效的连接管理器类型。当视图创建未知连接类型的连接管理器时会返回此错误。请检查连接类型名称的拼写是否正确。
(2)无法连接源组件
找不到连接“SourceConnectionOLEDB”。如果找不到特定的连接元素,Connections集合将发生此错误。
其他信息:
找不到连接“SourceConnectionOLEDB”。如果找不到特定的连接元素,Connections集合将发生此错误。
({0DE0CDBB-BCD6-4261-A118-B0CB22DA3C4A})
具体解决办法是打开SqlServerConfiguration Manage,右键单击“SqlServer Integration Services”,选择“属性”,将登录身份修改为“LocalSystem(本地系统)”,然后重新启动该服务。

二.使用Access数据库的数据升迁功能。首先点击“工具”菜单,选择“数据库实用工具”,选择“升迁向导”,这是会提示该功能尚未安装,需要安装XXX之类的信息,点击安装,等待安装成功后,即可弹出“升迁向导”对话框,按照提示下一步直到完成,即可将Access数据库导入到SQLServer数据库中。使用此种方法的好处是Access数据库中的所有数据以及表关系都会被原样导入到SQL Server数据库中。

三.使用SQL语句批量导入。1当只需要导入Access数据库中的指定表以及指定表的指定列到SQLServer数据库中时,前面的两种方法就显得不那么方便了。而使用SQL语句导入可以方便快捷的导入需要的数据。具体代码如下
(1)SQLServe数据库中已存在要导入数据的表.(这样可以事先按照要导入的Access数据库的数据表创建好需要的关系)
Insert intotable(tid,tname)SELECT id,nameFROM OPENDATASOURCE ('Microsoft.Jet.OLEDB.4.0','Data Source="c:\Shop.mdb";User ID=Admin;Password=' )...ShopGoods
(2)SQLServer数据库中不存在要存储导入数据的表.(使用下面的代码会直接在SQL Server数据库中创建相应的数据表)
SELECTid,nameINTO table(tid,tname)FROM OPENDATASOURCE ('Microsoft.Jet.OLEDB.4.0','Data Source="c:\Shop.mdb";User ID=Admin;Password=' )...ShopGoods
其中,table是SQL Server中用来存储Access导入数据的数据表名,ShopGoods是指要导入到SQLServer中的Access数据库中的数据表名。前面的三个点不能省略。
但使用这种方法时有可能出现以下错误:
SQLServer 阻止了对组件 'Ad Hoc DistributedQueries' 的STATEMENT'OpenRowset/OpenDatasource' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用sp_configure 启用 'Ad Hoc Distributed Queries'。有关启用 'Ad Hoc Distributed Queries' 的详细信息,请参阅 SQLServer 联机丛书中的 "外围应用配置器"。
具体解决办法是使用如下语句启用“'AdHoc Distributed Querie”
EXECsp_configure 'show advanced options', 1 GO RECONFIGURE GO EXEC sp_configure 'AdHoc Distributed Queries', 1 GO RECONFIGURE GO

H. 在access中能不能输入Insert之类的SQL句

可以的,在ACCESS里面选择新建查询,切换到SQL视图就可以输入SQL语句,保存为一个查询,随时就可以运行它。

其实使用向导和设计建立的查询也是一个SQL脚本,可以进行编辑和修改。