-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy path2-Views.sql
50 lines (46 loc) · 1.85 KB
/
2-Views.sql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
--- VIEW QUE RETORNA TODAS AS INFORMAÇÕES DO MEDICO ---
CREATE VIEW VerMedicos
AS
SELECT
MED.ID AS 'MEDICO' ,MED.NOME AS 'NOME_MEDICO' ,MED.CRM AS 'CRM_MEDICO',
US.ID AS 'ID_MEDICO', US.EMAIL AS 'EMAIL_MEDICO', US.SENHA AS 'SENHA_MEDICO',US.TIPO_USUARIO AS 'TIPO_USUARIO_MEDICO',
ESP.ID AS 'ID_ESPECIALIDADE',ESP.NOME AS 'ESPECIALIDADE_MEDICO',
CLI.ID AS 'ID_CLINICA',CLI.NOME_FANTASIA AS 'CLINICA',CLI.ENDERECO AS 'ENDERECO',CLI.NUMERO AS 'NUMERO', CLI.RAZAO_SOCIAL AS 'RAZAO_SOCIAL'
FROM Medico AS MED
LEFT JOIN Usuario AS US ON MED.ID_USUARIO = US.ID
LEFT JOIN Clinica AS CLI ON MED.ID_CLINICA = CLI.ID
LEFT JOIN Especialidade AS ESP ON MED.ID_ESPECIALIDADE = ESP.ID;
GO
--- VIEW QUE RETORNA TODAS AS INFORMAÇÕES DO PACIENTE ---
CREATE VIEW VerPacientes
AS
SELECT
PAC.ID AS 'PACIENTE' ,PAC.NOME AS 'NOME_PACIENTE', PAC.CPF AS 'CPF_PACIENTE', PAC.RG AS 'RG_PACIENTE', PAC.TELEFONE AS 'TELEFONE_PACIENTE', PAC.DATA_NASCIMENTO AS 'DATA_NASCIMENTO_PACIENTE',
US.ID AS 'ID_PACIENTE', US.EMAIL AS 'EMAIL_PACIENTE',US.SENHA AS 'SENHA_PACIENTE',US.TIPO_USUARIO AS 'TIPO_USUARIO_PACIENTE'
FROM Paciente AS PAC
LEFT JOIN Usuario AS US ON PAC.ID_USUARIO = US.ID;
GO
--- VIEW QUE RETORNA TODAS AS INFORMAÇÕES DA CONSULTA ---
CREATE VIEW VerConsultas
AS
SELECT CON.ID AS 'CONSULTA',CON.DESCRICAO AS 'DESCRICAO', CON.DATA_CONSULTA AS 'DATA' , CON.STATUS_CONSULTA AS 'STATUS',
MED.*,PAC.*
FROM Consulta AS CON
LEFT JOIN VerMedicos AS MED ON CON.ID_MEDICO = MED.MEDICO
LEFT JOIN VerPacientes AS PAC ON CON.ID_PACIENTE = PAC.PACIENTE;
GO
--- VIEW QUE RETORNA TODAS AS INFORMAÇÕES DO USUARIO ---
CREATE VIEW VerUsuarios
AS
SELECT US.ID AS 'ID',US.EMAIL AS 'EMAIL',US.SENHA AS 'SENHA'
FROM Usuario AS US
WHERE US.TIPO_USUARIO != 100;
GO
-- Função que retorna a idade do usuario
CREATE FUNCTION CalcularIdade (@ANO AS INT)
RETURNS INT
AS
BEGIN
RETURN YEAR(GETDATE()) - @ANO;
END
GO