sql >> Databáze >  >> RDS >> Sqlserver

Běžný tabulkový výraz, proč středník?

  • Aby se předešlo nejednoznačnosti, protože WITH lze použít i jinde
    ..FROM..WITH (NOLOCK)..
    RESTORE..WITH MOVE..
  • Příkazy lze ukončit pomocí ; v SQL Server

Dohromady, předchozí příkaz musí být ukončen před WITH/CTE. Aby se předešlo chybám, většina lidí používá ;WITH protože nevíme, co je před CTE

Takže

DECLARE @foo int

;WITH OrderedOrders AS
(
    SELECT SalesOrderID, OrderDate,
...;

je stejný jako

DECLARE @foo int

;WITH OrderedOrders AS
(
    SELECT SalesOrderID, OrderDate,
...;

Příkaz MERGE má podobný požadavek.




  1. Vypočítejte rozdíl mezi dvěma daty a časy v MySQL

  2. Připojte databázi v SQLite

  3. Manipulace s připojením a omezení s ProxySQL

  4. Jak vypsat aktivní / otevřená připojení v Oracle?