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

CREATE VIEW musí být jediným příkazem v dávce

Jak chyba říká, CREATE VIEW příkaz musí být jediným příkazem v dávce dotazu.

V tomto scénáři máte dvě možnosti v závislosti na funkčnosti, které chcete dosáhnout:

  1. Umístěte CREATE VIEW dotaz na začátku

    CREATE VIEW showing
    as
    select tradename, unitprice, GenericFlag
    from Medicine;
    
    with ExpAndCheapMedicine(MostMoney, MinMoney) as
    (
        select max(unitprice), min(unitprice)
        from Medicine
    )
    ,
    findmostexpensive(nameOfExpensive) as
    (
        select tradename
        from Medicine, ExpAndCheapMedicine
        where UnitPrice = MostMoney
    )
    ,
    findCheapest(nameOfCheapest) as
    (
        select tradename
        from Medicine, ExpAndCheapMedicine
            where UnitPrice = MinMoney
        )
    
  2. Použijte GO za CTE a před CREATE VIEW dotaz

    -- Možnost #2

    with ExpAndCheapMedicine(MostMoney, MinMoney) as
    (
        select max(unitprice), min(unitprice)
        from Medicine
    )
    ,
    findmostexpensive(nameOfExpensive) as
    (
        select tradename
        from Medicine, ExpAndCheapMedicine
        where UnitPrice = MostMoney
    )
    ,
    findCheapest(nameOfCheapest) as
    (
        select tradename
        from Medicine, ExpAndCheapMedicine
        where UnitPrice = MinMoney
    )
    
    GO    
    
    CREATE VIEW showing
    as
    select tradename, unitprice, GenericFlag
    from Medicine;
    


  1. SQL - Chyba aktualizace spouštěče

  2. Java2MySQL> Selhání komunikačního spojení opět kvůli základní výjimce

  3. Java desktop – jak oddělit přístup k databázi od vlákna uživatelského rozhraní?

  4. přesunout tabulku z jednoho schématu do jiného schématu?