Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:SQL Server
Azure SQL Veritabanı
Azure SQL Yönetilen Örneği
Azure Synapse Analytics
Analiz Platformu Sistemi (PDW)
Microsoft Fabric'teki SQL analiz uç noktası
Microsoft Fabric'teki ambar
Microsoft Fabric'teki SQL veritabanı
Sorgu sırasında hata mesajlarının taşmadan mı yoksa sıfıra böl hatalarından mı döneceğini kontrol eder.
Transact-SQL söz dizimi kuralları
Sözdizimi
-- 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
Uyarı
Bu söz dizimi, Azure Synapse Analytics'teki sunucusuz SQL havuzu tarafından desteklenmez.
Açıklamalar
SET ARITHIGNORE ayarı yalnızca hata mesajının geri dönüyeceğini kontrol eder. SQL Server, bu ayar ne olursa olsun taşma veya sıfıra böl hatası içeren bir hesaplamada NULL döndürür. SET ARITHABORT ayarı, sorgunun sonlandırılıp sonlandırılmadığını belirlemek için kullanılabilir. Bu ayar, INSERT, UPDATE ve DELETE ifadeleri sırasında meydana gelen hataları etkilemez.
SET ARITHABORT veya SET ARITHIGNORE KAPALI ve SET ANSI_WARNINGS AÇIKSA, SQL Server sıfıra bölme veya taşma hatalarıyla karşılaştığında yine bir hata mesajı döndürür.
SET ARITHIGNORE ayarı yürütme veya çalışma zamanında ayarlanır, ayrıştırma zamanında değil.
Bu ayarın mevcut ayarını görmek için aşağıdaki sorguyu çalıştırın.
DECLARE @ARITHIGNORE VARCHAR(3) = 'OFF';
IF ( (128 & @@OPTIONS) = 128 ) SET @ARITHIGNORE = 'ON';
SELECT @ARITHIGNORE AS ARITHIGNORE;
Permissions
Genel rolde üyelik gerektirir.
Örnekler
Aşağıdaki örnek, her iki SET ARITHIGNORE ayarın da her iki tür sorgu hatasıyla kullanıldığını göstermektedir.
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
Örnekler: Azure Synapse Analytics ve Analytics Platform Sistemi (PDW)
Aşağıdaki örnek, sıfıra bölünmeyi ve taşma hatalarını gösterir. Bu örnek, ARITHIGNORE KAPALı olduğu için bu hatalar için hata mesajı vermez.
-- SET ARITHIGNORE OFF and testing.
SET ARITHIGNORE OFF;
SELECT 1 / 0 AS DivideByZero;
SELECT CAST(256 AS TINYINT) AS Overflow;