Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Apakah mungkin untuk melakukan prosedur Sisipkan Ke dalam tersimpan?

Anda perlu melakukan beberapa hal untuk menjalankannya, karena parameter Anda mendapatkan beberapa nilai, Anda perlu membuat Jenis Tabel dan membuat prosedur toko Anda menerima parameter jenis itu.

Karena Anda melewati TABLE sebagai parameter, Anda perlu membuat TABLE TYPE sebagai berikut

JENIS TABEL

CREATE TYPE dbo.Prco_Table AS TABLE 
 (
    [Val1]         Data Type
    [Val2]         Data Type
  )
 GO

Prosedur Tersimpan untuk Menerima Param Jenis Itu

 CREATE PROCEDURE mainValues 
 @TableParam Prco_Table READONLY   --<-- Accepts a parameter of that type 
 AS                                  -- Note it is ReadOnly 
 BEGIN
    SET NOCOUNT ON;
  /* do your insert from this parameter or other cool stuff  */

  INSERT INTO Target_Table (Col1, Col2)
  SELECT [Val1] , [Val2]
  FROM  @TableParam    --<-- Table Type variable


END

JALANKAN PROC

Deklarasikan variabel jenis itu dan isi dengan nilai Anda.

 DECLARE @Table ClaimData(      --<-- Declare a variable of your type
          [Val1]         Data Type
          [Val2]         Data Type
                         ); 

 -- Populate the variable
   INSERT INTO @Table ([Val1],[Val2])
   SELECT testdesc, testoption
   FROM tableA
   WHERE testoption = 1

  EXECUTE mainValues  @Table --<-- Pass this variable of Table Type


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mengambil rentang baris tertentu dalam tabel SQL Server

  2. SQL Server:Hanya entri terakhir di GROUP BY

  3. Apa string koneksi sql yang perlu saya gunakan untuk mengakses localhost\SQLEXPRESS dengan Otentikasi Windows atau Otentikasi SQL?

  4. Kelompokkan baris berurutan dengan nilai yang sama menggunakan rentang waktu

  5. iterasi melalui baris datagrid