在看同事寫的代碼時看到了SQL Server中可以自定義數據類型,而且定義的是DataTable類型的數據類型。 后我想起了以前我們導入數據時要么是循環insert寫入,要么是SqlBulkCopy。 如果再去做這個導入時可以自定義DataTable數據類型,在存儲過程里傳入DataTable,直接在存儲過程里使用insert from來實現。
T-SQL查詢自定義數據類型SELECT * FROM sys.types where is_user_defined=1SQL Server中查看自定義數據類型
-- ================================-- Create User-defined Table Type-- ================================USE <database_name,sysname,AdventureWorks>GO-- Create the data typeCREATE 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
新聞熱點
疑難解答