Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk:SQL Server
Azure SQL Managed Instance
Azure Synapse Analytics Analytics
Platform System (PDW)
Menyiapkan pernyataan Transact-SQL berparameter dan mengembalikan handel pernyataan untuk eksekusi.
sp_prepare dipanggil dengan menentukan ID = 11 dalam paket aliran data tabular (TDS).
Sintaks
sp_prepare
handle OUTPUT
, params
, stmt
, options
[ ; ]
Argumen
menangani
Pengidentifikasi handel yang dihasilkan SQL Server. handle adalah parameter yang diperlukan dengan nilai pengembalian int .
params
Mengidentifikasi pernyataan berparameter.
param adalah parameter OUTPUT yang diperlukan yang memanggil nilai input ntext, nchar, atau nvarchar . Definisi param variabel digantikan untuk penanda parameter dalam pernyataan.
NULL Masukkan nilai jika pernyataan tidak diparameterkan.
stmt
Menentukan kumpulan hasil kursor. Parameter stmt diperlukan dan memanggil nilai input ntext, nchar, atau nvarchar .
opsi
Parameter opsional yang mengembalikan deskripsi kolom kumpulan hasil kursor. opsi memerlukan nilai input berikut:
| Nilai | Deskripsi |
|---|---|
0x0001 |
RETURN_METADATA |
Contoh
J. Menyiapkan dan menjalankan pernyataan
Contoh berikut menyiapkan dan menjalankan pernyataan Transact-SQL dasar.
DECLARE @handle AS INT;
EXECUTE sp_prepare
@handle OUTPUT, N'
@P1 NVARCHAR(128),
@P2 NVARCHAR(100)',
N'SELECT database_id, name FROM sys.databases WHERE name=@P1 AND state_desc = @P2';
EXECUTE sp_execute
@handle,
N'tempdb', N'ONLINE';
EXECUTE sp_unprepare @handle;
B. Menyiapkan dan menjalankan pernyataan menggunakan handel
Contoh berikut menyiapkan pernyataan dalam AdventureWorks2025 database, dan kemudian menjalankannya menggunakan handel.
-- Prepare query
DECLARE @handle AS INT;
EXECUTE sp_prepare
@handle OUTPUT, N'@Param INT', N'SELECT *
FROM Sales.SalesOrderDetail AS sod
INNER JOIN Production.Product AS p ON sod.ProductID = p.ProductID
WHERE SalesOrderID = @Param
ORDER BY Style DESC;';
-- Return handle for calling application
SELECT @handle;
GO
Berikut set hasilnya.
1
Jalankan kueri dua kali menggunakan nilai 1handel , sebelum membuang rencana yang disiapkan.
EXECUTE sp_execute 1, 49879;
GO
EXECUTE sp_execute 1, 48766;
GO
EXECUTE sp_unprepare 1;
GO