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

Prosedur tersimpan SQL Server mengonversi varchar ke int

Anda dapat memanfaatkan fakta bahwa SQL Server 2008 sekarang mendukung tipe tabel. Anda dapat menentukan tipe tabel dan di sisi .net buat DataTable dan berikan itu sebagai parameter ke prosedur tersimpan Anda. Di sisi SP parameter itu bertipe [tipe tabel apa pun yang Anda buat] Berikut ini contohnya.

TotalPositions = [Some List] //of CSV List
DataTable Positions = new DataTable(); //Create the Datatype
Positions.Columns.Add("PositionID", typeof(int)); //
foreach (string sPos in TotalPositions.Split(','))
Positions.Rows.Add(int.Parse(sPos)); 

Anda kemudian dapat Menambahkan Posisi sebagai parameter untuk prosedur tersimpan Anda

SqlParameter Param = new SqlParameter();
Param.Value = Positions
Param.SqlDbType = SqlDbType.Structured;
Param.ParameterName = @Positions                    
command.Parameters.Add(Param);

Dalam database Anda, Anda harus mendefinisikan tipe tabel sebagai

CREATE TYPE [dbo].[Positions] AS TABLE(
    [Position] int NULL,
)
GO

dan dalam prosedur tersimpan Anda tambahkan

@MyPositions Positions Readonly

Sekarang Anda dapat merawat @MyPositions sebagai tabel dalam prosedur Anda dan bandingkan dengan itu.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara Memformat Angka dengan Koma di SQL Server

  2. pisahkan nilai yang dipisahkan koma dan simpan dalam tabel di server sql

  3. Denormalisasi Data (Mungkin Pivot?)

  4. Mengganti string panjang variabel dengan beberapa kata

  5. Hitung jumlah hari on_hire di JAN