Saya mencoba untuk menjalankan query SQL untuk menghapus baris dengan id's 163 ke 265 di meja
Aku mencoba untuk menghapus kurang jumlah baris
DELETE FROM `table` WHERE id IN (264, 265)
Tapi ketika datang untuk menghapus 100's baris pada satu waktu, Apakah ada query yang mirip dengan metode di atas Saya juga mencoba untuk menggunakan jenis query tetapi gagal untuk melaksanakannya
DELETE FROM `table` WHERE id IN (SELECT * FROM table WHERE id = )
Tolong katakan padaku query untuk melakukan tindakan atas...
Jika anda perlu untuk menghapus didasarkan pada daftar, anda dapat menggunakan DI
:
DELETE FROM your_table
WHERE id IN (value1, value2, ...);
Jika anda perlu untuk menghapus berdasarkan hasil dari sebuah query, anda juga dapat menggunakan DI
:
DELETE FROM your_table
WHERE id IN (select aColumn from ...);
(Perhatikan bahwa subquery harus kembali hanya satu kolom)
Jika anda perlu untuk menghapus berdasarkan pada berbagai nilai, baik anda menggunakan ANTARA
atau anda menggunakan pertidaksamaan:
DELETE FROM your_table
WHERE id BETWEEN bottom_value AND top_value;
atau
DELETE FROM your_table
WHERE id >= a_value AND id <= another_value;
CREATE PROC [dbo].[sp_DELETE_MULTI_ROW]
@CODE XML
,@ERRFLAG CHAR(1) = '0' OUTPUT
AS
SET NOCOUNT ON
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
DELETE tb_SampleTest
WHERE
CODE IN(
SELECT Item.value('.', 'VARCHAR(20)')
FROM @CODE.nodes('RecordList/ID') AS x(Item)
)
IF @@ROWCOUNT = 0
SET @ERRFLAG = 200
SET NOCOUNT OFF
Mendapatkan nilai string menghapus
<RecordList>
<ID>1</ID>
<ID>2</ID>
</RecordList>