Delen via


Opdrachtsyntaxis

Van toepassing op:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform Systeem (PDW)SQL-database in Microsoft Fabric

OLE DB-stuurprogramma downloaden

De OLE DB-driver voor SQL Server herkent de commandosyntaxis die is gespecificeerd door de DBGUID_SQL macro. Voor de OLE DB-driver voor SQL Server geeft de specificeerder aan dat een samenvoeging van ODBC SQL, ISO en Transact-SQL geldige syntaxis is. Bijvoorbeeld, de volgende SQL-instructie gebruikt een ODBC SQL-escape-sequentie om de LCASE-stringfunctie te specificeren:

SELECT customerid={fn LCASE(CustomerID)} FROM Customers

LCASE geeft een tekenreeks terug, waarbij alle hoofdletters worden omgezet naar hun kleine equivalenten. De ISO-stringfunctie LOWER voert dezelfde bewerking uit, dus de volgende SQL-instructie is een ISO-equivalent van de ODBC-instructie hierboven:

SELECT customerid=LOWER(CustomerID) FROM Customers

De OLE DB-driver voor SQL Server verwerkt beide vormen van de instructie succesvol wanneer deze als tekst voor een commando wordt gespecificeerd.

Opgeslagen procedures

Wanneer je een opgeslagen procedure van SQL Server uitvoert met een OLE DB Driver for SQL Server-commando, gebruik dan de ODBC CALL escape-sequentie in de commandotekst. De OLE DB Driver voor SQL Server gebruikt vervolgens het remote procedure call-mechanisme van SQL Server om de verwerking van commando's te optimaliseren. Bijvoorbeeld, de volgende ODBC SQL-instructie heeft de voorkeur voor commandotekst boven het Transact-SQL-formulier:

  • ODBC SQL

    {call SalesByCategory('Produce', '1995')}
    
  • Transact-SQL

    EXECUTE SalesByCategory 'Produce', '1995'
    

Zie ook

Opdrachten