Ir para conteúdo

Arquivado

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

andersonrc

Alterar valor de todas da coluna de todas as linhas, exceto da última.

Recommended Posts

Olá a todos.

 

Tenho que fazer a seguinte procedure

 

b. Criar uma procedure que deve popular a tabela TabelasBanco da seguinte maneira:

 

i. A tabela deve ser populada com as informações vindas da consulta

SELECT id, name FROM sys.sysobjects WHERE xtype = 'U'

ii. A coluna DataCarga deve ser preenchida com a data do dia da carga.

iii. A coluna FlagCarga deve ser preenchida com o valor 'UC' equivalente a Última Carga;

iv. Antes de inserir os dados na tabela, a procedure deve verificar se já existem dados na tabela TabelasBanco, caso existam, deve ser dado o comando UPDATE para alterar o campo FlagCarga para o valor 'CA' Carga Antiga. De modo que apenas a última carga efetuada possua o flag 'UC' e as demais possuam o valor “CA”.

 

Estou tendo problema para fazer o item iv. Da forma que eu fiz todas as colunas da tabela estão sendo alteradas para 'CA'. Mas a forma correta é que a última linha da tabela, a coluna FlagCarga deve ficar com o valor 'UC'

 

O procedimento que eu fiz é o que está abaixo: alguém sabe como posso resolver isso?

 

CREATE PROCEDURE sp_popula_tabela
AS
IF EXISTS (SELECT * FROM TabelasBanco)
   UPDATE TabelasBanco SET FlagCarga = 'CA'

INSERT INTO TabelasBanco (IDTabela, NomeTabela)
SELECT id, name FROM sys.sysobjects WHERE xtype = 'U'
INSERT INTO TabelasBanco (DataCarga, FlagCarga) VALUES (getDate(), 'UC')

Compartilhar este post


Link para o post
Compartilhar em outros sites

CREATE PROCEDURE sp_popula_tabela
AS
IF EXISTS (SELECT 1 FROM TabelasBanco)
   UPDATE TabelasBanco SET FlagCarga = 'CA'

       INSERT INTO TabelasBanco (IDTabela, NomeTabela, DataCarga, FlagCarga)
       SELECT id, name, GETDATE(), 'UC' FROM sys.sysobjects WHERE xtype = 'U'

 

;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

tente isso:

http://msdn.microsoft.com/pt-br/library/ms188336.aspx

ITEM B

B. Comparando consultas usando EXISTS e IN

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.