Visualizzazione dei risultati da 1 a 8 su 8

Discussione: Stored Procedure

  1. #1
    Utente di HTML.it L'avatar di Cream
    Registrato dal
    Feb 2002
    Messaggi
    534

    Stored Procedure

    Ciao a tutti,

    ho sempre programmato in asp mettendo l'SQL nel codice asp, ma adesso mi sto avvicinando alle Stored Procudure.

    ho la necessità di ottimizzare al massimo il sito e già muovendo i primi passi nelle Stored Procedure vedo che il cambiamento è notevole


    per adesso faccio solo delle stored procedure Statiche ma ho la necessità di usare delle stored un po' più complesse....

    esempio vorrei fare una cosa del genere :

    codice:
    esempio dal form con i campi testo puo cercare nel "nome", nel "cognome" o nel "codice" però potrebbe cercare anche solo il nome 
    
    se cerca solo il nome i campi cognome e codice rimangono vuoti quindi la query che sarebbe (tanto per intenderci): 
    
    Select * from table where nome = nome and cognome = cognome and codice = codice 
    
    diventerebbe solo 
    
    Select * from table where nome = nome 
    
    IO in ASP facevo così: 
    
    if nome <> "" then 
    SQLnome = " and nome = nome " 
    end if 
    if cognome <> "" then 
    SQLcognome = " and cognome = cognome " 
    end if 
    if codice <> "" then 
    SQLcodice = " and codice = codice " 
    end if 
    
    
    e poi: 
    
    SQL = "SELECT * FROM table where" 
    SQLasta = SQLasta & SQLnome & SQLcognome & SQLcodice
    come posso riportare una cosa del genere usando le STORED PROCEDURE...

    se avete buone risorse on-line per le stored postate ciao

  2. #2

  3. #3
    Utente di HTML.it L'avatar di Cream
    Registrato dal
    Feb 2002
    Messaggi
    534
    roby scusa ma il link che mi hai postato era riferito ad un inserimento -___-

  4. #4
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Era solo un link sulle store proc.
    Da lì forse puoi ricavarne altri.

    Roby

  5. #5
    Utente di HTML.it L'avatar di Cream
    Registrato dal
    Feb 2002
    Messaggi
    534
    pls help

    abbozzavo una cosa del genere ma mi restituisce un errore di sintassi nella stored

    pagina.asp

    codice:
    <%
    SQLnome = " id = 24 "
    SQL = "EXEC prova " & SQLnome
    Set rs = objConn.Execute(SQL)
    While Not rs.EOF
    foto = rs("foto_prod")
    titolo = rs("titolo")
    %><%=foto%>-<%=titolo%><%
    rs.MoveNext
    Wend
    rs.Close
    Set rs = Nothing 
    objConn.Close
    Set objConn = Nothing %>

    Stored abbozzata ma con errore

    codice:
    CREATE PROCEDURE prova (@SQLnome varchar(255))
    AS
        SELECT *
        FROM table
        WHERE @SQLnome
    GO
    restituisce errore e non mif a creare la query pls help sono all'inizio di stored

  6. #6
    Utente di HTML.it L'avatar di Cream
    Registrato dal
    Feb 2002
    Messaggi
    534
    up

  7. #7
    Prova con questa:

    codice:
    CREATE PROCEDURE prova (@SQLnome varchar(255))
    AS
        EXEC ('SELECT * FROM table WHERE 1 = 1 ' + @SQLnome)
    GO

  8. #8
    La stored deve essere:

    codice:
    CREATE PROCEDURE Cerca
       @nome as char(50)=NULL,
       @cognome as char(50)=NULL,
       @codice as int=NULL
    AS
    BEGIN
       if @nome = ''
       begin
          set @nome = NULL
       end
    
       if @cognome = ''
       begin
          set @cognome = NULL
       end
    
       if @codice = 0
       begin
          set @codice = NULL
       end
    
    
       SELECT * FROM Tabella WHERE
          (tabella.nome = @nome or @nome IS NULL) AND
          (tabella.cognome = @cognome or @cognome IS NULL) AND
          (tabella.codice = @codice or @codice IS NULL)
    
    END
    
    
    Da vbscript la richiami 
    
    sql = "EXEC Cerca '" & request.form("nome") & "','" & request.form("cognome") & "'," & request.form("codice")
    oppure con le varainti delc aso, in modo da gestire i casi in cui uno o più campi isano vuoti (vedi tu se passare blank, null (senza apici), o altro)

    Ciao
    Sem nasù per patì, patèm!

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