sql >> Database teknologi >  >> RDS >> Sqlserver

CREATE VIEW skal være den eneste sætning i batchen

Ligesom fejlen siger, er CREATE VIEW sætning skal være den eneste sætning i forespørgselsbatchen.

Du har to muligheder i dette scenarie, afhængigt af den funktionalitet, du ønsker at opnå:

  1. Placer CREATE VIEW forespørgsel i begyndelsen

    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. Brug GO efter CTE og før CREATE VIEW forespørgsel

    -- Mulighed #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. VALG af data fra lagrede procedurer

  2. Ændring af tidszone efter tilslutning til database ved hjælp af set time_zone =...

  3. ASP.NET - ORA-04068:eksisterende tilstand af pakker er blevet kasseret

  4. Meddelelse 28000:ingen pg_hba.conf-indgang for vært \xx.xxx.xxx.xxxx\, bruger \Bruger, database \databasenavn\, SSL fra