sql >> データベース >  >> RDS >> Sqlserver

SQL Serverデータベーステーブルにデータテーブルを挿入するにはどうすればよいですか?

    User-Defined TableTypeを作成します データベース内:

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

    Stored Procedureでパラメータを定義します :

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

    DataTableを送信します 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);
    }
    

    ストアドプロシージャ内の値を編集するには、同じタイプのローカル変数を宣言し、それに入力テーブルを挿入します。

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

    次に、@modifiableTableTypeを編集できます :

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


    1. SQLServerのSelectステートメントでWhere句を使用する方法-SQLServer/TSQLチュートリアルパート109

    2. MySQLデータベースが保護されていることを確認する方法

    3. 既存のOracleデータベースからデータベース図/ER図を生成するためのツール?

    4. SQLServerデータベースで主キー制約のないテーブルのリストを取得する方法-SQLServer/T-SQLチュートリアルパート58