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
Yerel olarak derlenmiş saklı yordamlar tüm Transact-SQL programlama ve sorgulama alanını uygulamaz. Yerel olarak derlenmiş saklı yordamlar içinde kullanılamayabilecek bazı Transact-SQL yapıları vardır. Daha fazla bilgi için bkz. Yerel Olarak Derlenmiş T-SQL Modülleri için Desteklenen Özellikler.
Aşağıdaki Transact-SQL özellikleri yalnızca yerel olarak derlenmiş saklı yordamlar için desteklenir:
Atomik bloklar. Daha fazla bilgi için bkz . Atomik Bloklar.
NOT NULLparametreler ve değişkenler üzerindeki kısıtlamalar. NOT NULL olarak bildirilen parametrelere veya değişkenlere NULL değerler atayamazsınız. Daha fazla bilgi için bkz. DECLARE @local_variable (Transact-SQL).CREATE PROCEDURE dbo.myproc (@myVarchar VARCHAR(32) NOT NULL) AS (...)DECLARE @myVarchar VARCHAR(32) NOT NULL = "Hello"; -- Must initialize to a value.SET @myVarchar = NULL; -- Compiles, but fails during run time.
Yerel olarak derlenmiş saklı yordamların şema bağlaması.
Yerel olarak derlenmiş saklı yordamlar CREATE PROCEDURE (Transact-SQL) kullanılarak oluşturulur. Aşağıdaki örnekte, bellek için iyileştirilmiş bir tablo ve tabloya satır eklemek için kullanılan yerel olarak derlenmiş bir saklı yordam gösterilmektedir.
CREATE TABLE [dbo].[T2] (
[c1] [int] NOT NULL,
[c2] [datetime] NOT NULL,
[c3] nvarchar(5) NOT NULL,
CONSTRAINT [PK_T1] PRIMARY KEY NONCLUSTERED ([c1])
) WITH ( MEMORY_OPTIMIZED = ON , DURABILITY = SCHEMA_AND_DATA )
GO
CREATE PROCEDURE [dbo].[usp_2] (@c1 int, @c3 nvarchar(5))
WITH NATIVE_COMPILATION, SCHEMABINDING
AS BEGIN ATOMIC WITH
(
TRANSACTION ISOLATION LEVEL = SNAPSHOT, LANGUAGE = N'us_english'
)
DECLARE @c2 datetime = GETDATE();
INSERT INTO [dbo].[T2] (c1, c2, c3) values (@c1, @c2, @c3);
END
GO
Kod örneğinde , NATIVE_COMPILATION bu Transact-SQL saklı yordamın yerel olarak derlenmiş bir saklı yordam olduğunu gösterir. Aşağıdaki seçenekler gereklidir:
| Seçenek | Description |
|---|---|
| SCHEMABINDING | Yerel olarak derlenmiş bir saklı yordam, başvuracağı nesnelerin şemasına bağlı olmalıdır. Bu, prosedür tarafından başvurulan tabloların silinemeyeceği anlamına gelir. Yordamda başvuruda bulunulan tablolar şema adlarını içermelidir ve sorgularda joker karakterlere (*) izin verilmez (hayır SELECT * from...anlamına gelir).
SCHEMABINDING yalnızca SQL Server'ın bu sürümünde yerel olarak derlenmiş saklı yordamlar için desteklenir. |
| ATOMIK BAŞLANGıÇ | Yerel olarak derlenmiş saklı yordam gövdesi tam olarak bir atomik blok içermelidir. Saklı yordamın atomik olarak yürütülmesini atomik bloklar garanti eder. Etkin bir işlemin bağlamı dışında yordam çağrılırsa, atomik bloğun sonunda işlem yapmak üzere yeni bir işlem başlatır ve bu işlem o zaman tamamlanacaktır. Yerel olarak derlenmiş saklı yordamlardaki atomik bloklar iki gerekli seçeneğe sahiptir: İŞLEM YALıTıM DÜZEYI. Bellek İyileştirilmiş Tablolar için Desteklenen İşlem Yalıtım Düzeyleri’ne bakın. DİL Saklı yordamın dili, kullanılabilir dillerden veya dil diğer adlarından birine ayarlanmalıdır. |