學(xué)些ADO.net INSERT插入使用學(xué)習(xí)
***進(jìn)行ADO.net INSERT插入設(shè)置時(shí),那么每個(gè)結(jié)果集都必須與表中或 column_list 中的列兼容。execute_statement 可以用來(lái)執(zhí)行同一服務(wù)器或遠(yuǎn)程服務(wù)器上的存儲(chǔ)過(guò)程。執(zhí)行遠(yuǎn)程服務(wù)器中的過(guò)程。
如果 execute_statement 使用 READTEXT 語(yǔ)句返回?cái)?shù)據(jù),那么每個(gè)單獨(dú)的 READTEXT 語(yǔ)句最多可以返回 1 MB (1024 KB) 的數(shù)據(jù),也可以將 execute_statement 與擴(kuò)展過(guò)程一起使用,并且插入擴(kuò)展過(guò)程的主線程返回的數(shù)據(jù)。不會(huì)插入不是主線程的其它線程中的輸出結(jié)果。說(shuō)明 對(duì)于ADO.net INSERT不包含返回 text 或 image 列的擴(kuò)展存儲(chǔ)過(guò)程。這個(gè)行為是從 SQL Server 早期版本變化而來(lái)的。
注釋
INSERT 將新行追加到表中。若要替換表中的數(shù)據(jù),必須在使用 INSERT 裝載新數(shù)據(jù)之前,使用 DELETE 或 TRUNCATE TABLE 語(yǔ)句清除現(xiàn)有的數(shù)據(jù)。若要修改現(xiàn)有行中的列值,請(qǐng)使用 UPDATE。若要?jiǎng)?chuàng)建新表,并且通過(guò)一個(gè)步驟給它裝載數(shù)據(jù),請(qǐng)使用 SELECT 語(yǔ)句的 INTO 選項(xiàng)。
table 變量在其作用域內(nèi)可以像常規(guī)表一樣訪問(wèn)。因此,可以像在 INSERT 語(yǔ)句中將行添加到表一樣使用 table 變量。有關(guān)更多信息,請(qǐng)參見(jiàn)ADO.net INSERT。由 OPENDATASOURCE 函數(shù)建立的、作為服務(wù)器名部分的四段名稱(chēng)可以作為表源,該表源可以出現(xiàn)在 INSERT 語(yǔ)句中顯示表名的所有位置。#t#
使用 uniqueidentifier 數(shù)據(jù)類(lèi)型創(chuàng)建的列存儲(chǔ)特殊格式的 16 字節(jié)二進(jìn)制值。與標(biāo)識(shí)列不同,SQL Server 不會(huì)為帶有 uniqueidentifier 數(shù)據(jù)類(lèi)型的列自動(dòng)地生成值。在插入操作過(guò)程中,帶有 uniqueidentifier 數(shù)據(jù)類(lèi)型的變量以及某些字符串常量可以用于ADO.net INSERT列(這些字符串常量的形式為:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx。
有 36 個(gè)字符,其中包括連字符。x 是十六進(jìn)制數(shù),范圍為 0-9 或 a-f。)。例如,對(duì)于 uniqueidentifier 變量或列,6F9619FF-8B86-D011-B42D-00C04FC964FF 是一個(gè)有效值。使用 NEWID() 函數(shù)可以獲取全局唯一的 ID (GUID)。
ADO.net INSERT時(shí),可以應(yīng)用下列規(guī)則:
如果將值裝載到帶有 char、varchar 或 varbinary 數(shù)據(jù)類(lèi)型的列,尾隨空格(對(duì)于 char 和 varchar 是空格,對(duì)于 varbinary 是零)的填充和截?cái)嗍怯?SET ANSI_PADDING 設(shè)置確定的。該設(shè)置是在創(chuàng)建表時(shí)為列定義的。有關(guān)更多信息,請(qǐng)參見(jiàn) SET ANSI_PADDING。下表顯示ADO.net INSERT為 OFF 時(shí)的默認(rèn)操作。