Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
SQL Analytics-eindpunt in Microsoft Fabric
Magazijn in Microsoft Fabric
SQL-database in Microsoft Fabric
Geeft alleen metadata terug aan de client. Kan worden gebruikt om het formaat van het antwoord te testen zonder de query daadwerkelijk uit te voeren.
Opmerking
Gebruik deze functie niet. Deze functie is vervangen door de volgende items:
Transact-SQL syntaxis-conventies
Syntaxis
SET FMTONLY { ON | OFF }
Opmerkingen
Wanneer FMTONLY is ON, wordt een rijverzameling teruggegeven met de kolomnamen, maar zonder data-rijen.
SET FMTONLY ON heeft geen effect wanneer de Transact-SQL batch wordt geanalyseerd. Het effect treedt op tijdens de uitvoeringstijd.
De standaardwaarde is OFF.
Permissions
Vereist lidmaatschap van de openbare rol.
Voorbeelden
Het volgende Transact-SQL codevoorbeeld stelt FMTONLY op ON. Deze instelling zorgt ervoor dat SQL Server alleen metadata-informatie teruggeeft over de geselecteerde kolommen. Specifiek worden de kolomnamen teruggegeven. Er worden geen datalijnen teruggegeven.
In het voorbeeld geeft de testuitvoering van de opgeslagen procedure prc_gm29 het volgende op:
- Meerdere rijensets.
- Kolommen uit meerdere tabellen, in een van zijn
SELECTstatements.
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\]
>>
****/