Sdílet prostřednictvím


NASTAVTE FMTONLY (Transact-SQL)

Platí pro:SQL ServerAzure SQL DatabaseSpravovaná instance Azure SQLAzure Synapse AnalyticsAnalytics Platform System (PDW)Koncový bod analýzy SQL v Microsoft FabricSklad v Microsoft FabricDatabá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:

Transact-SQL konvence syntaxe

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 SELECT tvrzení.
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\]
>>
****/

Viz také

Příkazy SET (Transact-SQL)