***进行ADO.net INSERT插入设置时,那么每个结果集都必须与表中或 column_list 中的列兼容。execute_statement 可以用来执行同一服务器或远程服务器上的存储过程。执行远程服务器中的过程。
如果 execute_statement 使用 READTEXT 语句返回数据,那么每个单独的 READTEXT 语句最多可以返回 1 MB (1024 KB) 的数据,也可以将 execute_statement 与扩展过程一起使用,并且插入扩展过程的主线程返回的数据。不会插入不是主线程的其它线程中的输出结果。说明 对于ADO.net INSERT不包含返回 text 或 image 列的扩展存储过程。这个行为是从 SQL Server 早期版本变化而来的。
注释
INSERT 将新行追加到表中。若要替换表中的数据,必须在使用 INSERT 装载新数据之前,使用 DELETE 或 TRUNCATE TABLE 语句清除现有的数据。若要修改现有行中的列值,请使用 UPDATE。若要创建新表,并且通过一个步骤给它装载数据,请使用 SELECT 语句的 INTO 选项。
table 变量在其作用域内可以像常规表一样访问。因此,可以像在 INSERT 语句中将行添加到表一样使用 table 变量。有关更多信息,请参见ADO.net INSERT。由 OPENDATASOURCE 函数建立的、作为服务器名部分的四段名称可以作为表源,该表源可以出现在 INSERT 语句中显示表名的所有位置。#t#
使用 uniqueidentifier 数据类型创建的列存储特殊格式的 16 字节二进制值。与标识列不同,SQL Server 不会为带有 uniqueidentifier 数据类型的列自动地生成值。在插入操作过程中,带有 uniqueidentifier 数据类型的变量以及某些字符串常量可以用于ADO.net INSERT列(这些字符串常量的形式为:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx。
有 36 个字符,其中包括连字符。x 是十六进制数,范围为 0-9 或 a-f。)。例如,对于 uniqueidentifier 变量或列,6F9619FF-8B86-D011-B42D-00C04FC964FF 是一个有效值。使用 NEWID() 函数可以获取全局唯一的 ID (GUID)。
ADO.net INSERT时,可以应用下列规则:
如果将值装载到带有 char、varchar 或 varbinary 数据类型的列,尾随空格(对于 char 和 varchar 是空格,对于 varbinary 是零)的填充和截断是由 SET ANSI_PADDING 设置确定的。该设置是在创建表时为列定义的。有关更多信息,请参见 SET ANSI_PADDING。下表显示ADO.net INSERT为 OFF 时的默认操作。