网址大全 | 文章大全 | 精选文摘 | 桌面壁纸 | 站长资源 | 在线手册 | 幽默笑话 | 天气预报 | FLASH    | 歇后语
便民查询 | 成语词典 | 五笔字典 | 新华字典 | 周公解梦 | 在线算命 | 生日密码 | 网络电台 | 网站留言 | 许愿墙
您的位置:首页 >> 文章大全 > 网络编程 > 数据库
站内搜索:
网络编程专栏
VB.NETASP
ASP.NETC#
数据库PHP
技巧篇Delphi
相关文章
·如何恢复/修复MS SQL...
·SQL Server开发问题前...
·Sql Server实用操作小...
·数据库常用简单SQL语...
·精妙的SQL语句
百度搜索 全网 本站
本类排行 more>>
·Sql Server 和 Acces...
·SQL Server 2000企业...
·MySQL教程(一)
·在Access数据库中重命...
·SQL 语法参考手册
·SQL插入表的方法
·有关重复记录的删除(...
·SQL SERVER数据类型(...
·MySQL教程(二)
·MySQL教程(四)
最新文章 more>>
·《网站配色方案》系列...
·《网站配色方案》系列...
·岳飞传的流程攻略
·百度漂亮 但Google更...
·个人站长的胜利 新网...
·搜搜问问抢不了百度知...
·视频网站接连败退 营...
·曹操传 杨家将传奇 官...
·专家为股民支招:网络...
·优秀站长访谈:个人网...
SQL插入表的方法

[ 作者:佚名 来源:网络 点击数:137 加入时间:2006-11-18 ]

【双击左键自动滚屏】【图片上滚动鼠标滚轮变焦图片】 【字体:放大 正常 缩小】 字体颜色:
便民查询  中华五千年  世界五千年  万年历  天气预报  周公解梦  脑筋急转弯  在线翻译  电信话费查询
   SQL插入表的方法: 因为公司需要,要把SQL一张表中的全部数据插入到另一张表中,而且两张表的字段还不完全一样。以前没遇到过这样的内容,现在把实现的方法记录下来。

        用INSERT命令插入多行数据有两种方法,

        INSERT命令用来在表中插入数据,语法如下:
INSERT [INTO] [(column_list)] VALUES (value_list)
Value_list是和在Column_list中列相应的值。这些值可以是常量、TSQL变量或SQL Server内部函数。值的顺序应和column_list中列的顺序相对应。如果没有定义column_list,则值的顺序应和表中列的顺序对应。
       INSERT的Values_list也可通过SELECT语句或一个存储过程来提供。语法如下:
       INSERT [INTO] [(column_list)]
       SELECT FROM

       INSERT [INTO] [(column_list)]
       EXECUTE

       我感觉第一个方法比较简单实用,准备把要插入的表得字段设置多点,这样插入表时没有的字段为空就可以了,也不影响原来的。详细的有关SQL插入的方法介绍如下:

     插入数据

在向表中添加数据时应该注意两点:第一是用户权限,只有sysadmin角包成员、数据库和数据库对

象所有者及其授权用户才有权限向表中添加数据;第二是数据格式,对于不同的数据类型,插入数据的

格式也不一样,应严格遵守它们各自的格式要求。

Transact-SQL语言中用INSERT语句向表或视图中插入新的数据行。INSERT语句的语法格式为:

INSERT [INTO] table_source

{[column_list]

VALUES ({DEFAULT | constant_expression} [,…n])

|DEFAULT VALUES

|select_statement

|execute_statement

}

}

其中,column_list参数为新插入数据行中一列或多列列名列表,它说明INSERT 语句只为指定列插

入数据。在给表或视中部分列插入数据时,必须使用列名列表方式指出这部分列名。其余未指定列的列

值要根据它们的默认值和空值属性情况而定,它们有以下几种可能取值:

(1)对于timestamp列或具有IDENTITY属性列,它们的列值由SQL Server计算后自动赋值。

(2)如果这些列有默认值或关联有默认数据库对象,插入新列时,它们的值为默认值。

(3)当这些列没有默认值设置时,但它们允许空值时,该列值为空。

(4)当这些列既没有默认值设置,也不允许空值时,SQL Server在执行INSERT 语句时将产生错误,

导致插入操作失败。

当未指定column_list 参数时,为各列所提供的数据顺序应严格按照表中各列的定义顺序,而使用

column_list参数则可以调整向表中所插入数据的列顺序,只要VALUES子句所提供的数据顺序与column_

list参数中指定的列顺序相同即可。

VALUES子句为新插入行中column_list 参数所指定列提供数据,这些数据可以以常量表达式形式提

供,或使用DEFAULT关键字说明向列中插入其默认值。

DEFAULT VALUES说明向表中所有列插入其默认值。对于具有INDENTITY 属性或timestamp 数据类型

列,系统将自动插入下一个适当值。对于没有设置默认值的列,如果它们允许空值,SQL Server将插入

null,否则返回一错误消息。

select_statement是标准的数据库查询语句,它是SQL Server为INSERT语句所提供的又一种数据插

入方式。INSERT语句将select_statement子句所返回的结果集合数据插入到指定表中。查询语句结果集

合每行中的数据数量、 数据类型和排列顺序也必须与表中所定义列或 column_list 参数中指定列的数

量、数据类型和排列顺序完全相同。

SQL Server为INSERT语句提供的第四种数据插入方式是通过执行系统存储过程,其数据来自于过程

执行后所产生的结果集合。所执行的过程可以为存储过程、系统存储过程或扩展存储过程,它们既可以

为本地存储过程,又可以是远程服务器上的存储过程,只要用户具有它们的执行权限即可。有关存储过

程请参阅对应的内容。

table_source说明INSERT语句插入数据时所操作的表或视图,其语法格式可简单书写为:

{table_name [[AS] table_alias]

| view_name [[AS] table_alias]

}

table_name和view_name说明被插入数据的表或视图名称,table_alias参数为表或视图设置别名。

使用别名有两方面原因:第一、当表或视图名称较长时,使用别名可以简化书写工作;第二,在自连接

或子查询中,使用别名可以区别同一个表或视图。

在向表中插入数据时, 如果所插入的数据与约束或规则的要求冲突, 或是它们的数据类型不兼容

时,将导致INSERT 语句执行失败。当使用SELECT或EXECUTE子句向表中一次插入多行数据时,如果其中

有任一行数据有误,它将导致整个插入操作失败,使SQL Server停止所有数据行的插入操作。

例一、使用数值列表方式( 假定 usertable 表中只定义了name、age和sex字段,且name、sex均为

char类型,age为int类型)。

INSERT usertable

VALUES ('张三','女',18)

例二、使用列名列表方式

INSERT usertable (age,name)

VALUES (18,'张三')

例三、在数值列表中,还可以将变量的值插入到表中。在使用变量为列提供数据时,应保证变量的

数据类型与列数据类型相同,或是可以自动将它们转换为相同的数据类型。例如:

DECLARE @name char(16)

SET @name='张三'

INSERT usertable

VALUES (@name,DEFAULT,20)

本例中Asp中是这样的:

dim name

name="张三"

sqlstr="INSERT usertable VALUES ('"&name&"','女',20)"

……



例四、将SELECT子句的所返回的结果集合插入到表中。例如:

INSERT usertable (name,sex,age)

SELECT 's'+name,sex,age

FROM usertable

WHERE name like '张%%'
国家纸币  自考信息  度量转换  搜索引擎指南  城市经纬度  脑筋急转弯  各国资料  名言辞典  违章查询
·上一篇文章:ASP网站漏洞解析及黑客入侵防范方法
·下一篇文章:90%进入者被淘汰 宽频网站急寻生存之道
百度搜索更多内容:SQL插入表的方法
推荐文档】 【打印文档】 【返回页首】 【关闭窗口