Italian community of Lazarus and Free Pascal

Programmazione => Databases => Topic aperto da: luigi67 - Febbraio 12, 2014, 03:50:32 pm

Titolo: errore usando TSQLScript
Inserito da: luigi67 - Febbraio 12, 2014, 03:50:32 pm
Salve a tutti
è da un paio di giorni che sbatto la testa su quest'errore senza venirne a capo. Senza dilungarmi in spiegazioni utilizzo un oggetto TSQLScript per utilizzare uno script che all'interno di un database già creato crei le varie tabelle, domini, viste etc. In pratica utilizzo Flamerobin per estrarre i metadata dopodiché lo salvo su un file che faccio caricare al  TSQLScript. In pratica nella creazione delle procedure ma da un errore. Sono riuscito a riprodurlo e allego frammento di codice SQL

SET TERM ^ ;
ALTER PROCEDURE PFORMULATO   (
  IDPRODOTTO CHAR(5)   )
RETURNS (
    PFORMULATO CHAR(2)  )
AS
DECLARE VARIABLE VFORMULATO CHAR(7);
BEGIN
  SELECT FORMULATO
  from PRODOTTI
WHERE ID_PRODOTTO=:IDPRODOTTO     
  INTO :VFORMULATO;                     <----errore
    IF (VFORMULATO='LIQUIDO') THEN
     BEGIN
     PFORMULATO='ml';
     end
  else
    BEGIN
   PFORMULATO='gr';
end
   SUSPEND;
END^
SET TERM ; ^

alla riga 11 colonna 6.
Se alla variabile preceduta da “:” tolgo i “:” non da errore, ma secondo voi è corretta?
Ciao
Luigi
Titolo: Re:errore usando TSQLScript
Inserito da: nomorelogic - Febbraio 12, 2014, 07:01:29 pm
i ":" mi sembra proprio che ci vadano, non so perché ti da errore

hai provato ad eseguire la stessa frase da flame robin?
se funziona li deve funzionare anche da lazarus
Titolo: Re:errore usando TSQLScript
Inserito da: luigi67 - Febbraio 13, 2014, 10:05:28 am
Allora dopo prove e riprove e vari googolate in pratica prima della parola "into" a quanto ho capito è opzionale, ma con  TSQLScript i : gli fanno generare questo errore togliendoli funziona perfettamente.
Ciao
Luigi