Bolehkah kita menghantar tatasusunan kepada prosedur tersimpan dalam SQL Server?
Bolehkah kita menghantar tatasusunan kepada prosedur tersimpan dalam SQL Server?

Video: Bolehkah kita menghantar tatasusunan kepada prosedur tersimpan dalam SQL Server?

Video: Bolehkah kita menghantar tatasusunan kepada prosedur tersimpan dalam SQL Server?
Video: Selamat datang bulan ramadhan ๐Ÿ˜‡ upin dan ipin menyambut bulan suci ๐Ÿคฒ#shorts 2024, Mungkin
Anonim

Tiada sokongan untuk tatasusunan dalam pelayan sql tetapi terdapat beberapa cara anda boleh lulus koleksi kepada a proc yang disimpan.

Selain itu, bolehkah kita lulus senarai dalam prosedur tersimpan?

Tidak, tatasusunan/ senarai boleh 't dihantar ke SQL Server terus. Pilihan berikut tersedia: lulus dibatasi koma senarai dan kemudian mempunyai fungsi dalam SQL membahagikan senarai . Koma dibataskan senarai akan kemungkinan besar akan diluluskan sebagai Nvarchar()

Kedua, bagaimanakah anda menghantar nilai rentetan yang dipisahkan koma kepada prosedur tersimpan dalam SQL? Prosedur tersimpan berikut mendapat rekod Pekerja yang Idnya diluluskan menggunakan rentetan yang dipisahkan (dibataskan) dengan koma.

  1. BUAT PROSEDUR GetEmployees.
  2. @EmployeeIds VARCHAR(100)
  3. AS.
  4. BERMULA.
  5. PILIH Nama Pertama, Nama Akhir.
  6. DARIPADA Pekerja.
  7. WHERE EmployeeId IN(
  8. PILIH CAST(Item SEBAGAI INTEGER)

Akibatnya, mengapa tatasusunan besar tidak boleh diserahkan kepada prosedur mengikut nilai?

Sebab awak boleh 't lulus an tatasusunan oleh nilai ialah sebab di sana ialah tiada cara khusus untuk mengesan an tatasusunan saiz supaya logik panggilan fungsi akan tahu berapa banyak memori yang perlu diperuntukkan dan apa yang perlu disalin. awak boleh lulus contoh kelas kerana kelas mempunyai pembina. Tatasusunan tidak.

Apakah parameter bernilai Jadual?

A meja - parameter bernilai ialah parameter dengan meja taip. Menggunakan ini parameter , anda boleh menghantar berbilang baris data ke prosedur tersimpan atau perintah SQL berparameter dalam bentuk a meja . Transact-SQL boleh digunakan untuk mengakses nilai lajur bagi meja - parameter bernilai.

Disyorkan: