Boa noite, pessoal sou novo por aqui, estou aprendendo SQL e estou fazendo uma procedure para carregar uma tabela temporária porém preciso tratar alguns dados antes, por exemplo o o dado na tabela original para o campo sexo está com 'F' e preciso converter na tabela temporária para 'Feminino' e depois jogarei numa tabela que existe no meu BD com os dados já tratados, porém está retornando mais de uma linha, peço um help, sou novo na área:
Pergunta
Jr Aprediz
Boa noite, pessoal sou novo por aqui, estou aprendendo SQL e estou fazendo uma procedure para carregar uma tabela temporária porém preciso tratar alguns dados antes, por exemplo o o dado na tabela original para o campo sexo está com 'F' e preciso converter na tabela temporária para 'Feminino' e depois jogarei numa tabela que existe no meu BD com os dados já tratados, porém está retornando mais de uma linha, peço um help, sou novo na área:
USE [sYSCLINICAS_DW]
GO
/****** Object: StoredProcedure [dbo].[sp_carregaPaciente] Script Date: 05/12/2011 17:12:35 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[sp_carregaPaciente]
AS
BEGIN
--TESTA SE HÁ TABELA TEMPORÁRIA E CRIA SE NÃO HOUVER
if ( select OBJECT_ID('tempdb..#tmp_comando')) > 0
drop table #tmp_comando
create table #tmp_comando(
id_paciente char(10),
desc_sexo char(10),
faixa_etaria datetime)
--INSERE NA TABELA TEMPORÁRIA OS DADOS DA TABELA DO BANCO SYS_CLINICAS.PACIENTE
INSERT INTO #tmp_comando select Codigo_Paciente, Sexo,Data_Nascimento FROM [sYS_CLINICAS].[dbo].[Paciente]
where [sys_clinicas].[dbo].[Paciente].Codigo_Paciente <>0
-- ESTA PARTE QUE ESTA RETORNANDO MAIS DE UMA LINHA, DEVERIA APENAS ATUALIZAR O CAMPO QUE DESEJO
/*if (select DATALENGTH(desc_sexo) from #tmp_comando) = 'F'
begin
update #tmp_comando
set desc_sexo = 'Feminino'
end
else
begin
update #tmp_comando
set desc_sexo = 'Masculino'
end */
--AQUI É SOMENTE PARA PUDER TESTAR O RETORNO APÓS A EXECUÇÃO DA PROCEDURE
select * from #tmp_comando
END
:wacko:
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.