Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá
Preciso criar uma função que me retorne uma tabela mais ou menos assim:
(está função retorna uma tabela)
CREATE FUNCTION [dbo].[f_pessoa] (@cod int)
RETURNS table
AS
RETURN ( SELECT * FROM pessoas where [codigo da pessoa] =@cod)
porém na função que estou criando, eu monto o sql dinamicamente, sendo então que a consulta ficaria armazenada em uma variavél... seria mais ou menos assim:
CREATE FUNCTION [dbo].[f_pessoa] (@cod int) RETURNS table
AS
begin
declare @sql as nvarchar(1000)
set @sql= 'SELECT * FROM pessoas where [codigo da pessoa] =' +@cod
RETURN ( @sql )
end
e eu irei precisar está função desta maneira, pq eu preciso fazer um select da tabela que a função retorna:
select * from dbo.f_pessoa(2)
está minha função, de acordo com os parametros passados pra elá, irá montar um sql, e eu preciso executar este sql, para retornar ele que nem uma tabela (no caso como eu demostrei na primeira função), só que eu não consegui fazer executar este sql que vou criando na variavel @sql...
não sei se consegui ser claro.. mas é isso que eu preciso, retornar uma tabela de um select que monto em uma variavel dentro da função, não posso deixar o sql fixo dentro da minha função como demostrei na primeira vez ...
Obrigado
Carregando comentários...