Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Làm cách nào để chèn một bảng dữ liệu vào bảng cơ sở dữ liệu SQL Server?

Tạo User-Defined TableType trong cơ sở dữ liệu của bạn:

CREATE TYPE [dbo].[MyTableType] AS TABLE(
    [Id] int NOT NULL,
    [Name] [nvarchar](128) NULL
)

và xác định một tham số trong Stored Procedure của bạn :

CREATE PROCEDURE [dbo].[InsertTable]
    @myTableType MyTableType readonly
AS
BEGIN
    insert into [dbo].Records select * from @myTableType 
END

và gửi DataTable của bạn trực tiếp đến máy chủ sql:

using (var command = new SqlCommand("InsertTable") {CommandType = CommandType.StoredProcedure})
{
    var dt = new DataTable(); //create your own data table
    command.Parameters.Add(new SqlParameter("@myTableType", dt));
    SqlHelper.Exec(command);
}

Để chỉnh sửa các giá trị bên trong quy trình lưu trữ, bạn có thể khai báo một biến cục bộ có cùng kiểu và chèn bảng đầu vào vào đó:

DECLARE @modifiableTableType MyTableType 
INSERT INTO @modifiableTableType SELECT * FROM @myTableType

Sau đó, bạn có thể chỉnh sửa @modifiableTableType :

UPDATE @modifiableTableType SET [Name] = 'new value'


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 7 cách trả về tất cả các bảng có khóa ngoại trong SQL Server

  2. SQL Server 2016:Nhập dữ liệu

  3. Có thể chạy nhiều câu lệnh DDL bên trong một giao dịch (trong SQL Server) không?

  4. Trình tự so với danh tính

  5. 7645 Vị ngữ toàn văn bản rỗng hoặc trống