Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    1,413

    clausola IN con sql server

    ciao a tutti...

    ma in sql server utilizzando una stored procedure come si fa ad usare la clausola IN?

    es.

    SELECT * FROM tabella WHERE campo IN (@variabile)

    io @variabile la passo come varchar (es. 1,3,5)

    ma continua a darmi errore.

    se io i valori li inserisco a mano nella stored invece funziona.

    come devo dichiarare la variabile?

  2. #2
    Numerica --> Integer
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

  3. #3
    non si puo'. è un vecchio problema. ci sono diverse possibilità - io metto in join una tab temp con i numeri

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    1,413
    noooooooooooooo! sul serio?

  5. #5
    il fatto è presto spiegato

    l'istruzione dovrebbe essere

    .. IN (10,20,31,42) ...

    tu però per passare 10,20,31,42 non puoi usare un parametro numerico, ma una varchar - per farci stare le virgole. a questo punto il parser trasforma l'istruzione

    ... IN (@variabile) ...

    in

    .. IN ('10,20,31,42') ...

    mettendoci quegli apici... quindi va in errore perché non riesce a fare il matching tra i parametri varchar e il campo numerico. tutto qui (purtroppo!)

  6. #6
    Utente di HTML.it L'avatar di albis
    Registrato dal
    May 2002
    Messaggi
    912
    potresti provare a fare una execute nella stored componendo l'istruzione concatenando stringhe e parametro

    tipo
    exec('select....where..in(' +@parametro + '....)
    Forza la magica ROMA

  7. #7
    funziona, ma è pericoloso e lento

  8. #8
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    1,413
    e fare un replace della variabile dello la stored?in modo tale da togliere le virgolette?

  9. #9
    le virgolette NON sono parte della variabile, quindi non si possono togliere

  10. #10
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    1,413
    optime se non ti dispiace mi puoi far vedere come fai tu?

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.