Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367

    [SQL Server] progressivo per una vista

    Salve,

    sto cercando di fare una vista su SQL Server 2005 dove mi serve anche un progressivo.
    Ho fatto delle prove con Query Analyzer e quello che mi andrebbe bene sarebbe
    codice:
    SELECT ROW_NUMBER() OVER (order by NomeCampo ASC) as NomeId, NomeCampo, NomeCampo2, NomeCampo3 FROM NomeTabella
    così ottengo il mio bel progressivo in maniera veloce... peccato che in una vista "il costrutto o l'istruzione SQL OVER non è supportato".
    Allora mi sono inventato questa
    codice:
    SELECT (SELECT COUNT(tx.CampoUnivoco) AS CampoId FROM NomeTabella AS tx WHERE tx.CampoUnivoco <= ty.CampoUnivoco) AS CampoId, ty.CampoUnivoco AS CampoCodice FROM NomeTabella AS ty order by CampoCodice
    che funziona.... ma è pesantissima (una subquery ogni record e i record sono tanti)

    qualcuno ha qualche idea? :master:
    grazie

  2. #2
    Ciao willybit,
    ho provato per scrupolo ma a me non da nessun problema la creazione di viste con row_number/over in sql server 2005 (express).

    Lo script che ho eseguito è un semplice:

    codice:
    CREATE VIEW dbo.vcontatti
    AS
    SELECT
    	ROW_NUMBER() OVER (ORDER BY contatto ASC) AS riga,
    	contatto
    FROM
    	dbo.tcontatti
    xxx

  3. #3
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    Ciao Alethesnake,

    non avevo pensato a creare la vista da codice
    Io la vista la creavo scrivendo l'sql direttamente con SQL Server Management Studio
    creandola da codice si crea se poi la apro in modifica con SQL Server Management Studio mi dice sempre "Il costrutto o l'istruzione SQL OVER non è supportato." però funziona

    Grazie mille per l'aiuto

  4. #4
    ah, ora ho capito l'errore che ti dava
    ho provato dal management studio e mi ha restituito il tuo stesso errore, per ricreare la vista la clausola OVER.. l'ho dovuta aggiungere comunque a mano nell'editor e dirgli di ignorare l'errore. va' che è strano..
    comunque ben contento ti sia stato utile

    xxx

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.