Script SQL - Deletar um registro (usuario demitido) em 3 tabelas

0 respostas
S

Pessoal,

Sei que aqui é forum sobre Java, mais como tem lógica envendo a sulução para implementar rotina no Banco de dados - SQL Server 2000, gostaria de algumas dicas, sugestões e exemplos, segue:

Obejetivo
Excluir um usuário em 3 tabelas, assim que o usuário for demitido da empresa.

Tabelas: 
- Usuario 
- GrupoUsuarioXLogin 
- Login

Não posso ALTERAR a estrutura nem usar o DELETE CASCADE para DELETAR usuário que foi demitido.

[color=darkblue]Criei NOVA Tabela[/color]
Tabela: UsuarioTeste
Campos: Usu_Codigo, Usu_Nome, Usu_Cpf e Usu_Situacao

[b][u]Inserir dois registros na nova tabela [/u][/b]
Usu_codigo Usu_nome  Usu_cpf                       Usu_Situacao 
---------      ----------    -----------------             -------- 
1               Fulano        11.111.111/1111-11     A 
2               Silva          22.222.222/222-22       I

O campo Usu_Situacao TEM duas situacões:
1) A -> Ativo
2) I -> Inativo, ou seja, foi demitido


Necessidade

Quando o campo Usu_Situacao estiver com o registro/situação igual a
I

isto indica que o usuário tem que ser EXCLUÍDO nas 3 TABELAS abaixo.

- Usuario
- GrupoUsuarioXLogin
- login

Iniciei este script via dica de outro forum

DECLARE @CDUSUARIO INT 

SET @CDUSUARIO = 1 

DELETE USUARIO 
WHERE  CDUSUARIO = @CDUSUARIO 

DELETE GrupoUsuarioXLogin 
WHERE  CDUSUARIO = @CDUSUARIO 

DELETE login 
WHERE  CDUSUARIO = @CDUSUARIO

[color=red]

Dúvida
[/color]
Tenho a tabela UsuarioTeste e minha referencia para excluir o usuario que foi demitido é o campo usu_situacao igual a [color=blue]I[/color]

Através do cursor eu consigo deletar o usuário tendo a informação do código do usuário (SET @CDUSUARIO = 1), o problema é que tenho que pegar o dado do campo usu_situacao = 'I' (Inativo), para deletar o registro nas tabelas Usuario, GrupoUsuarioXLogin e login.

Lembrando que tem que ser script SQL, se alguém ter sugestão, dicas e exemplos eu agradeço.

Grato
Sérgio

Criado 24 de abril de 2009
Respostas 0
Participantes 1