Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it L'avatar di Reiuky
    Registrato dal
    Jul 2008
    Messaggi
    371

    aggiungere i doppi apici sugli AS di una query

    Ciao a tutti.

    Devo fare una cosa molto delicata su una funzione che riceve in input una query e restituisce un resultset.

    Tale funzione deve essere trasparente al DB su cui effettua la query.

    Ora, il problema è che su ORACLE questo caso

    SELECT pippo AS pluto FROM topolino

    Mi restituisce, nel result set, il nome della colonna come PLUTO, ovvero tutte maiuscole. Il che mi mette in difficoltà in quanto il nome delle colonne viene successivamente usato in modo case sensitive. Quindi il programma ha un comportamento diverso a seconda del db su cui lavora e non va più bene. Anche perché si tratterebbe di andare a mettere le mani su tutti i programmi sviluppati in 5 anni che usano quella funzione. (e non sono pochi).

    Ora, scrivendo la query con questo formalismo

    SELECT pippo AS "pluto" FROM topolino

    ottengo il risultato desiderato.


    La soluzione ovvia sarebbe trasformare l'attributo di AS aggiungendogli i doppi apici intorno, nel caso che la connessione sia Oracle (ovviamente la connessione, all'interno della funzione, la DEVO conoscere).

    Il problema è che non so come recuperare (e sostituire) il parametro di AS, mettendomi al riparo da errori.

    Intanto devo sostituire solo gli AS nella select, e poi devo prevedere situazioni del tipo
    SELECT pippo AS pluto
    FROM topolino

    (il carattere di a capo può essere diverso a seconda dell'origine della query)

    inoltre posso avere situazioni tipo

    SELECT (SELECT pippo FROM pluto AS A WHERE ...) AS pluto FROM ...

    insomma, non so come cavarmela....
    A volte penso che, nel darci l'intelletto, la natura sia stata più sadica che generosa.

  2. #2
    Utente di HTML.it L'avatar di jcsnake
    Registrato dal
    Jun 2010
    Messaggi
    629
    Ciao, ma chi è che decide il nome da dare all'alias?La funzione stessa in modo random e casuale?

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.