通過SQL Server自定義數據類型實現導入數據


寫在前面

       在看同事寫的代碼時看到了SQL Server中可以自定義數據類型,而且定義的是DataTable類型的數據類型。 后我想起了以前我們導入數據時要么是循環insert寫入,要么是SqlBulkCopy。  如果再去做這個導入時可以自定義DataTable數據類型,在存儲過程里傳入DataTable,直接在存儲過程里使用insert from來實現。

 

T-SQL查詢自定義數據類型

SELECT * FROM sys.types where is_user_defined=1

 

SQL Server中查看自定義數據類型

 

創建自定義數據類型語法

-- ================================
-- Create User-defined Table Type
-- ================================
USE <database_name,sysname,AdventureWorks>
GO

-- Create the data type
CREATE TYPE <schema_name,sysname,dbo>.<type_name,sysname,TVP> AS TABLE 
(
	<columns_in_primary_key, , c1> <column1_datatype, , int> <column1_nullability,, NOT NULL>, 
	<column2_name, sysname, c2> <column2_datatype, , char(10)> <column2_nullability,, NULL>, 
	<column3_name, sysname, c3> <column3_datatype, , datetime> <column3_nullability,, NULL>, 
    PRIMARY KEY (<columns_in_primary_key, , c1>)
)
GO

 

自定義數據類型Demo

CREATE TYPE [dbo].[StudentTableType] AS TABLE(
	[id] [uniqueidentifier] NOT NULL,
	[name] [nvarchar](50) NULL,
	[Alias] [nvarchar](50) NULL,
	[Code] [nvarchar](50) NULL,
	[CreateDate] [datetime] NULL,
	[ModifiedDate] [datetime] NULL,
	[CreateBy] [int] NULL,
	[ModifyBy] [int] NULL
	
)
GO

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM