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ı
İstemciye sadece meta veri döner. Soruyu gerçekten çalıştırmadan yanıtın formatını test etmek için kullanılabilir.
Uyarı
Bu özelliği kullanmayın. Bu özellik aşağıdaki öğelerle değiştirilmiştir:
Transact-SQL söz dizimi kuralları
Sözdizimi
SET FMTONLY { ON | OFF }
Açıklamalar
Ne FMTONLY zaman ON, sütun isimleriyle birlikte bir satır kümesi döner, ancak veri satırları olmadan.
SET FMTONLY ON Transact-SQL partisi ayrıştırıldığında hiçbir etkisi olmaz. Bu etki, yürütme çalışma süresinde gerçekleşir.
Varsayılan değer şudur: OFF.
Permissions
Genel rolde üyelik gerektirir.
Örnekler
Aşağıdaki Transact-SQL kod örneği FMTONLY .ON Bu ayar, SQL Server'ın yalnızca seçilen sütunlara dair meta veri bilgisini döndürmesine neden olur. Özellikle, sütun adları geri döner. Veri satırları geri dönmez.
Örnekte, saklanan prosedürün prc_gm29 test yürütülmesi aşağıdaki sonuçları verir:
- Birden fazla sıra seti.
- Birden fazla tablodan sütunlar, bir ifadesinde
SELECT.
SET NOCOUNT ON;
GO
DROP PROCEDURE IF EXISTS prc_gm29;
DROP TABLE IF EXISTS #tabTemp41;
DROP TABLE IF EXISTS #tabTemp42;
GO
CREATE TABLE #tabTemp41
(
KeyInt41 INT NOT NULL,
Name41 NVARCHAR(16) NOT NULL,
TargetDateTime DATETIME NOT NULL DEFAULT GetDate()
);
CREATE TABLE #tabTemp42
(
KeyInt42 INT NOT NULL, -- JOIN-able to KeyInt41.
Name42 NVARCHAR(16) NOT NULL
);
GO
INSERT INTO #tabTemp41 (KeyInt41, Name41) VALUES (10, 't41-c');
INSERT INTO #tabTemp42 (KeyInt42, Name42) VALUES (10, 't42-p');
GO
CREATE PROCEDURE prc_gm29
AS
BEGIN
SELECT * FROM #tabTemp41;
SELECT * FROM #tabTemp42;
SELECT t41.KeyInt41, t41.TargetDateTime, t41.Name41, t42.Name42
FROM
#tabTemp41 AS t41
INNER JOIN #tabTemp42 AS t42 on t42.KeyInt42 = t41.KeyInt41
END;
GO
SET DATEFORMAT mdy;
SET FMTONLY ON;
EXECUTE prc_gm29; -- Returns multiple tables.
SET FMTONLY OFF;
GO
DROP PROCEDURE IF EXISTS prc_gm29;
DROP TABLE IF EXISTS #tabTemp41;
DROP TABLE IF EXISTS #tabTemp42;
GO
/**** Actual Output:
[C:\JunkM\]
>> osql.exe -S myazuresqldb.database.windows.net -U somebody -P secret -d MyDatabase -i C:\JunkM\Issue-2246-a.SQL
KeyInt41 Name41 TargetDateTime
----------- ---------------- -----------------------
KeyInt42 Name42
----------- ----------------
KeyInt41 TargetDateTime Name41 Name42
----------- ----------------------- ---------------- ----------------
[C:\JunkM\]
>>
****/