none
DECRACAO DE PARAMETRO DENTRO DA VIEW RRS feed

Todas as Respostas

  • Novaes,

     

    Uma view é "apenas" um select mascarado, o mesmo não aceita parametros, se voce necessita utilizar parametros voce deve criar uma procedure, a mesma aceita a utilização de views, o que voce pode fazer é criar uma vier, e quando for realizar um select na view, utilizar algum parametro, mas veja que o parametro sera utilizado ao rodar um select na view, e não na view em si.

    Exemplo:

    PROCEDURE RECEBENDO PARAMETRO:

    CREATE PROCEDURE dbo.Teste

    @Parametro1 INT,

    @Parametro2 VARCHAR(100)

    AS

    SELECT Campos

    FROM Tabela

    WHERE ID = @Parametro1 AND Nome LIKE @Parametro2

     

    VIEW

    CREATE VIEW dbo.V_FormatadaData

    AS

    SELECT CONVERT(VARCHAR, CampoData, 103) as Data

    FROM Tabela

     

    Utilizando Parametro na view criada acima

    DECLARE @Parametro1 DATETIME = '2011-01-01'

    DECLARE @Parametro2 DATETIME = '2012-01-01'

    SELECT *

    FROM V_Formatada

    WHERE DATA BETWEEN @Paramaretro1 AND @Parametro2


    Fabrizzio A. Caputo
    Certificações: Oracle OCA 11g, MCITP SQL Server 2008 Implementation and Maintenance
    Blog Pessoal: www.fabrizziocaputo.wordpress.com
    Blog Empresa: www.tripletech.com.br/blog
    Twitter: @FabrizzioCaputo
    Email: fabrizzio.antoniaci@gmail.com
    • Sugerido como Resposta Fredy Esmeraldo quinta-feira, 14 de julho de 2011 13:19
    quinta-feira, 14 de julho de 2011 12:59
    Moderador
  • NovaesB,


    Só complementando a resposta do Fabrizzio que já está correta, além da stored procedure também é possível criar uma function com retorno de tabela. Nela você pode utilizar parâmetros que desejar também e ainda pode usar cláusulas where. Um exemplo seria o seguinte:

     

    create function dbo.teste(@id_tabela int)
    returns table
    as
    return
    (
    select * from Tabela where ID = @id_tabela
    )
    
    select * from dbo.teste(1) where dt_reparticao = '2011-01-25'
    


    Mas a resposta do Fabrizzio também atende perfeitamente a sua questão.

    Você pode encontrar mais sobre function aqui: http://msdn.microsoft.com/en-us/library/ms186755.aspx

    E mais sobre stored procedure aqui: http://msdn.microsoft.com/en-us/library/ms187926.aspx

    Att,


    Fredy Esmeraldo
    Microsoft MCP, MCTS, MCITP Database Administrator 2008
    Visite o meu blog: http://fredyesmeraldo.wordpress.com
    Me siga no twitter: @fredyesmeraldo
    LinkedIN: Fredy Esmeraldo
    **Ajude a melhorar o sistema de busca do fórum.Marque a(s) resposta(s) que foram úteis**
    **Se esta resposta solucionou a questão, então, por favor, marque-a como resposta.**
    • Sugerido como Resposta Fredy Esmeraldo quinta-feira, 14 de julho de 2011 13:19
    • Editado Fredy Esmeraldo quinta-feira, 14 de julho de 2011 13:23 Inluindo links de pesquisa
    quinta-feira, 14 de julho de 2011 13:19