Newsgroup: it.comp.lang.visual-basic
Titolo: Aiuto su STORED semplice

PREMETTO che č la mia prima stored e non sono riuscito ancora a capirci
molto:
CREATE PROCEDURE ProvaStored AS
 DECLARE
  @Note  VARCHAR(500),
  @StartFido INT,
  @StartBanca INT,
 SELECT
  an_conto,
  @Note=CONVERT(varchar(500), an_note2)),
  @StartFido=PATINDEX('%FIDO:%',@Note),
  @StartBanca=PATINDEX('%BANCA:%',@Note),
 FROM anagra
 WHERE an_tipo='S'
GO
Come si fa a dichiarare delle variabili all'interno di una SELECT da poter
poi riutilizzare nelle varie clausole WHERE select , ecc ?
Grazie, a chi fa un po' di luce
Ciao


non ho ben capito cosa vuoi ottenere....
comunque per passare dei paramentri alla SP e avere di ritorno il tuo bel
recordset, devi fare una cosa del genere (invento):
CREATE PROCEDURE [NUMERO MAGGIORE ANNUO]
 @anno smallint,
 @numero_maggiore int OUTPUT
AS
 set @numero_maggiore=(SELECT max(numero)+1 FROM numeri WHERE
anno_numero=@anno)
GO
in questo modo hai la variabile @anno che puň essere passata alla procedura
ed inserita nella where.
Non so se č quello che volevi ottenere, ma spero ti sia utile :)
ciaociao


Innanzitutto c'č una virgola dopo l'ultima dichiarazione, per cui presumo
che questa SP non compili.
A parte questo, non ho capito cosa ti serve, e, soprattutto, a cosa ti serva
popolare delle variabili se poi fai un GO che le 'sega'.
Dal tuo quesito, sembra che tu chieda lumi sulla sintassi della Select (che
č indipendente dal fatto di essere o meno in una SP)...
Direi che devi darci altre info.
Ciao
Alberto

Ciao
A parte dell'errore di sintassi ( C'è una parentesi in più e una virgola
fuori posto)
in pratica quello che voglio ottenere è un recoset in cui vengono passati
dei valori di campo e altri valori che sono le mie variabili.
CREATE PROCEDURE ProvaStored AS
 DECLARE
  @Note  VARCHAR(500),
  @StartFido INT,
  @StartBanca INT
 SELECT
  an_conto,
  @Note=CONVERT(varchar(500), an_note2),
  @StartFido=PATINDEX('%FIDO:%',@Note),
  @StartBanca=PATINDEX('%BANCA:%',@Note),
  @StartFido+@StartBanca
 FROM anagra
 WHERE an_tipo='S'
Appena cerco di inserire la cosa mi da un errore in cui mi dice che non
posso usare Assegnazioni di variabili insieme a Recupero dati.
Grazie ancora

 Appena cerco di inserire la cosa mi da un errore
Definire "cosa" e codice/descrizione dell'errore.

 non posso usare Assegnazioni di variabili insieme a Recupero dati.
Allora valorizza le variabili e poi scrivi la select:
CREATE PROCEDURE ProvaStored AS
DECLARE
    @Note  VARCHAR(500),
    @StartFido INT,
    @StartBanca INT,
    @Tot
@Note=CONVERT(varchar(500), an_note2),
@StartFido=PATINDEX('%FIDO:%',@Note),
@StartBanca=PATINDEX('%BANCA:%',@Note),
@Tot=@StartFido+@StartBanca
SELECT
    an_conto,@Note as s_note, @StartFido as s_startfido, @StartBanca as
s_Startbanca, @Tot as totale
   FROM anagra
  WHERE an_tipo='S'
ciaociao

   WHERE an_tipo='S'
Ciao così non funziona, perchè alle variabili devo passare dei valori dei
singoli record
Ritornando al codice da me postato prima, cioè
CREATE PROCEDURE ProvaStored AS
 DECLARE
  @Note  VARCHAR(500),
  @StartFido INT,
  @StartBanca INT
 SELECT
  an_conto,
  @Note=CONVERT(varchar(500), an_note2),
  @StartFido=PATINDEX('%FIDO:%',@Note),
  @StartBanca=PATINDEX('%BANCA:%',@Note),
  @StartFido+@StartBanca
 FROM anagra
 WHERE an_tipo='S'
mi da l'errore
141  "Impossibile usare Assegnazioni di variabili insieme a Recupero dati."
Me lo da quando testo la sintassi della STORED
La variabili anno valore diverso record per record
Ciao, e grazie a tutti per il supporto

 Me lo da quando testo la sintassi della STORED
Ho letto che ti hanno già risposto, a quest'ultimo punto, su altro NG.
Però mi chiedo: se usi il Query Analizer (e mi auguro che tu lo stia
usando), hai funzionalità di debug, di help di T-Sql,  e soprattutto hai la
possibilità di eseguire le SP a pezzi, limitando l'esecuzione e la
compilazione a ciò che ti serve.
Non credi che in pochi minuti risolveresti il problema, anzichè postare ogni
singolo test su un NG (fra parentesi, su questo NG il tuo quesito è
fortemente OT)?
Ciao
Alberto

 La variabili anno valore diverso record per record
:-?
allora a cosa ti servono le variabili, se fa tutto parte del record?
Scrivi la query e basta!
ciaociao