Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Armanrulla

Procedure meia maluca

Recommended Posts

Olá pessoallll

 

Bom estou tentando colocar uma variavel na minha procedure pra receber um codigo mas tá dando sintax invalida alguem pode me ajuda ?!?!?!?!

DECLARE @cod as Int@cod = (SELECT codfunc FROM empr Where nome = @Empresa)

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

DECLARE @cod as Int

@cod = (SELECT Top 1 codfunc FROM empr Where nome = @Empresa)

 

O select pode retornar vários funcionários e não é possível atribuir para uma única variável.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Original:DECLARE @cod as Int@cod = (SELECT Top 1 codfunc FROM empr Where nome = @Empresa)Onde a variável @Empresa estaá send definida???Qual o erro q esta ocorrendo???t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá,

sempre que for atribuir algum valor a uma variável dentro do SQL, é necessário que use antes da variável o termo SET OU SELECT, exemplo:

 

declare @funcionario int

set @funcionario = (select codfunc from tblFuncionario where nomefunc = @nome)

 

[]´s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia.

 

A ultima resposta está parcialmente correta, porém você nunca pode utilizar SET e SELECT na execução do mesmo comando.

 

O correto é :

 

declare @funcionario int

Select top 1 @funcionario = codfunc from tblFuncionario where nomefunc = @nome

 

Assim irá funcionar.

 

O "top 1" limita o número de linhas para apenas 1, se o retorno tiver mais de 1 linha e não for limitado, a variável irá armazenar o último valor, NÃO OCORRE ERRO.

 

 

Att,

Compartilhar este post


Link para o post
Compartilhar em outros sites

Só complementando:

 

DECLARE @cod as Int

 

SET @cod = (SELECT codfunc FROM empr Where nome = @Empresa)

-- ou

SELECT @COD = codfunc FROM empr Where nome = @Empresa

 

http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

 

 

Não se pode usar Select e SET no mesmo comando?

Pq não :blink: ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.