SET ARITHIGNORE (Transact-SQL)
Berlaku untuk:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics AnalyticsPlatform System (PDW)Titik akhir analitik SQL di Microsoft FabricWarehouse di Microsoft Fabric
Mengontrol apakah pesan kesalahan dikembalikan dari kesalahan luapan atau membagi berdasarkan nol selama kueri.
Sintaksis
-- Syntax for SQL Server and Azure SQL Database and Microsoft Fabric
SET ARITHIGNORE { ON | OFF }
-- Syntax for Azure Synapse Analytics and Parallel Data Warehouse
SET ARITHIGNORE OFF
Catatan
Untuk melihat sintaks Transact-SQL untuk SQL Server 2014 (12.x) dan versi yang lebih lama, lihat Dokumentasi versi sebelumnya.
Catatan
Sintaks ini tidak didukung oleh kumpulan SQL tanpa server di Azure Synapse Analytics.
Keterangan
Pengaturan SET ARITHIGNORE hanya mengontrol apakah pesan kesalahan dikembalikan. SQL Server mengembalikan NULL dalam perhitungan yang melibatkan kesalahan luapan atau membagi berdasarkan nol, terlepas dari pengaturan ini. Pengaturan SET ARITHABORT dapat digunakan untuk menentukan apakah kueri dihentikan. Pengaturan ini tidak memengaruhi kesalahan yang terjadi selama pernyataan INSERT, UPDATE, dan DELETE.
Jika SET ARITHABORT atau SET ARITHIGNORE NONAKTIF dan SET ANSI_WARNINGS AKTIF, SQL Server masih mengembalikan pesan kesalahan saat mengalami kesalahan dibagi-demi-nol atau luapan.
Pengaturan SET ARITHIGNORE diatur pada waktu eksekusi atau run time dan bukan pada waktu penguraian.
Untuk menampilkan pengaturan saat ini untuk pengaturan ini, jalankan kueri berikut.
DECLARE @ARITHIGNORE VARCHAR(3) = 'OFF';
IF ( (128 & @@OPTIONS) = 128 ) SET @ARITHIGNORE = 'ON';
SELECT @ARITHIGNORE AS ARITHIGNORE;
Izin
Memerlukan keanggotaan dalam peran publik.
Contoh
Contoh berikut menunjukkan penggunaan kedua SET ARITHIGNORE
pengaturan dengan kedua jenis kesalahan kueri.
SET ARITHABORT OFF;
SET ANSI_WARNINGS OFF
GO
PRINT 'Setting ARITHIGNORE ON';
GO
-- SET ARITHIGNORE ON and testing.
SET ARITHIGNORE ON;
GO
SELECT 1 / 0 AS DivideByZero;
GO
SELECT CAST(256 AS TINYINT) AS Overflow;
GO
PRINT 'Setting ARITHIGNORE OFF';
GO
-- SET ARITHIGNORE OFF and testing.
SET ARITHIGNORE OFF;
GO
SELECT 1 / 0 AS DivideByZero;
GO
SELECT CAST(256 AS TINYINT) AS Overflow;
GO
Contoh: Azure Synapse Analytics and Analytics Platform System (PDW)
Contoh berikut menunjukkan pembagian dengan nol dan kesalahan luapan. Contoh ini tidak mengembalikan pesan kesalahan untuk kesalahan ini karena ARITHIGNORE NONAKTIF.
-- SET ARITHIGNORE OFF and testing.
SET ARITHIGNORE OFF;
SELECT 1 / 0 AS DivideByZero;
SELECT CAST(256 AS TINYINT) AS Overflow;
Lihat Juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk