bagaimana cara memutus set rekaman dari pilih?
Jadi katakan misalnya saya punya beberapa catatan yang ingin saya lewati dan lakukan sesuatu dengan setiap catatan. Berikut ini adalah versi primitif dari pilih saya:
select top 1000 * from dbo.table
where StatusID = 7
Terima kasih
sql
sql-server
Funky
sumber
sumber
Jawaban:
Dengan menggunakan T-SQL dan kursor seperti ini:
sumber
Inilah yang telah saya lakukan jika Anda perlu melakukan sesuatu yang berulang ... tetapi akan lebih bijaksana untuk mencari operasi yang ditetapkan terlebih dahulu.
sumber
Perubahan kecil pada jawaban sam yi (untuk keterbacaan yang lebih baik):
sumber
select @TableID = (...)
pernyataan.Dengan menggunakan kursor Anda dapat dengan mudah beralih melalui catatan satu per satu dan mencetak catatan secara terpisah atau sebagai satu pesan termasuk semua catatan.
sumber
Hanya pendekatan lain jika Anda baik-baik saja menggunakan tabel temp. Saya telah menguji ini secara pribadi dan itu tidak akan menyebabkan pengecualian (bahkan jika tabel temp tidak memiliki data.)
sumber
COUNT(*)
dan yang kedua dariCOUNT(*)
ke 1 adalah aneh.WHILE (@COUTNER <= @ROWID)
dan Anda tidak perlu mengurangi@ROWID
dalam setiap iterasi. BTW apa yang terjadi jikaROWID
s di tabel Anda tidak berkelanjutan (beberapa baris sebelumnya dihapus).Anda dapat memilih untuk memberi peringkat data Anda dan menambahkan ROW_NUMBER dan menghitung mundur ke nol saat iterate dataset Anda.
sumber
dengan cara ini kita bisa beralih ke data tabel.
STRINGTOTABLE adalah fungsi yang ditentukan pengguna yang akan mem-parsing data yang dipisahkan koma dan tabel kembali. Terima kasih
sumber
Saya pikir ini adalah contoh cara mudah untuk beralih item.
sumber