Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro:SQL Server
Azure SQL Database
Spravovaná instance Azure SQL
Azure Synapse Analytics
Analytics Platform System (PDW)
Koncový bod analýzy SQL v Microsoft Fabric
Sklad v Microsoft Fabric
Databáze SQL v Microsoft Fabric
Klientovi vrací pouze metadata. Lze použít k testování formátu odpovědi bez samotného spuštění dotazu.
Poznámka:
Tuto funkci nepoužívejte. Tato funkce byla nahrazena následujícími položkami:
- sp_describe_first_result_set (Transact-SQL)
- sp_describe_undeclared_parameters (Transact-SQL)
- sys.dm_exec_describe_first_result_set (Transact-SQL)
- sys.dm_exec_describe_first_result_set_for_object (Transact-SQL)
Syntaxe
SET FMTONLY { ON | OFF }
Poznámky
Když FMTONLY je , ONje řádková sada vrácena s názvy sloupců, ale bez jakýchkoli datových řádků.
SET FMTONLY ON nemá žádný vliv při parsování Transact-SQL dávky. Efekt nastává během běhu provádění.
Výchozí hodnota je OFF.
Povolení
Vyžaduje členství ve veřejné roli.
Examples
Následující příklad Transact-SQL kódu nastavuje FMTONLY na ON. Toto nastavení způsobuje, že SQL Server vrací pouze metadata o vybraných sloupcích. Konkrétně se vracejí názvy sloupců. Nejsou vráceny žádné datové řádky.
V příkladu testovací provedení uložené procedury prc_gm29 vrací následující:
- Více řádků.
- Sloupce z více tabulek, v jednom z jeho
SELECTtvrzení.
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\]
>>
****/