• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

3 mensagens neste tópico

Olá a todos.

Deperei-me com o seguinte problema:

UPDATE fleets SET dagger = dagger+(SELECT dagger FROM fleets  WHERE id = 10) WHERE base = 1 AND location = 16

Dá-me erro no SELECT entre parentices.

Alguém sabe maneira de contornar este problema?

Cumprimentos,

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

porque nao guardas o valor dentro de uma variavel?

este exemplo assume que (SELECT dagger FROM fleets  WHERE id = 10) so retorna 1 linha.

declare @dagger decimal(18,4)

select @dagger =dagger FROM fleets  WHERE id = 10

UPDATE fleets SET dagger = dagger+ @dagger WHERE base = 1 AND location = 16

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Olá a todos.

Deperei-me com o seguinte problema:

UPDATE fleets SET dagger = dagger+(SELECT dagger FROM fleets  WHERE id = 10) WHERE base = 1 AND location = 16

Dá-me erro no SELECT entre parentices.

Alguém sabe maneira de contornar este problema?

Cumprimentos,

Tens de garantir que retornas apenas um registo, vê se o teu SGBD suporta MAXROWS ou TOP no SELECT.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora