Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di Elena78
    Registrato dal
    Oct 2001
    Messaggi
    535

    ORACLE Pl/Sql recuperare valore di un campo

    Siamo alle solite
    Dichiaro un cursore c1 da questo cursore devo estrarre dei valori di alcuni campi.
    Leggo il manuale che mi dice :

    " al posto di una singola variabile, può essere dichiarato un record che può memorizzare una tupla completa di una determinata tabella.
    Per esempio il tipo di dati table%rowtype specifica un record adatto a memorizzare tutti i valori degli attributi di una riga. tali record sono usati in combinazione con un cursore.
    Si può accedere ad un campo di un record utilizzando la sintassi nome record.nomecolonna. Es: miatabella.colonna1."


    Ora: io nel DECLARE scrivo: record miatabella%rowtype;


    poi all'interno del loop del cursore basta scrivere : miatabella.colonna1 per recuperare il dato????

  2. #2
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    nel declare non ti serve mettere il record

    declare
    cursor c is ...
    var varchar2(14);
    begin
    for rec in curs loop
    var := rec.column1;

  3. #3
    Utente di HTML.it L'avatar di Elena78
    Registrato dal
    Oct 2001
    Messaggi
    535
    Originariamente inviato da floyd
    nel declare non ti serve mettere il record

    declare
    cursor c is ...
    var varchar2(14);
    begin
    for rec in curs loop
    var := rec.column1;

    ma come fa a capie cos'è rec se non lo dichiaro da qualche parte?? e var è la variabile o il record?

  4. #4
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    var è la variabile
    rec è di tipo cursore%rowtype

  5. #5
    Utente di HTML.it L'avatar di Elena78
    Registrato dal
    Oct 2001
    Messaggi
    535
    Originariamente inviato da floyd
    var è la variabile
    rec è di tipo cursore%rowtype
    capito grazie.

  6. #6
    Utente di HTML.it L'avatar di Elena78
    Registrato dal
    Oct 2001
    Messaggi
    535

    Dove sbaglio??

    Dove sbaglio??

    DECLARE
    esito CHAR(30);
    record c1%rowtype;

    BEGIN
    esito:='';

    FETCH c1 into record /*inizio il ciclo per ogni scheda in c1 */
    esito:=record.col_esito;

    Questo è l'errore che mi da quando compilo in toad :

    PLS-00103: Encountered the symbol "ESITO" when expecting one of the following:

    . ( , % ;


    :master:

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 © 2024 vBulletin Solutions, Inc. All rights reserved.