Olá, fiz um MDB em Access, mudei pra ANSI-92 e comecei a criá-lo. Nas validações encontrei um problema, no meu banco estou colocando uma tabela com metas. Cada indicador tem a sua e ela vale por um período. Como faço um CHECK que verifique se a data inserida no início e no final do período não esteja contido por outro período?
teria que ser algo +- assim:
ALTER TABLE meta
ADD CONSTRAINT chk_periodoSobreposto CHECK
(
'OPA!' NOT IN
(
SELECT
'OPA!' AS result
FROM
meta
WHERE
meta.codigoIndicador = codigoIndicador /*Aqui da problema porque ele compara com ele mesmo*/
AND inicio BETWEEN meta.inicio AND meta.fim /*Aqui da problema porque ele compara com ele mesmo*/
AND fim BETWEEN meta.inicio AND meta.fim /*Aqui da problema porque ele compara com ele mesmo*/
)
)
Se eu colocar um valor fixo alí onde ta dando problema ele funciona. Alguma ideia de como resolver isso sem validar na aplicação?
Question
Iceguy
Olá, fiz um MDB em Access, mudei pra ANSI-92 e comecei a criá-lo. Nas validações encontrei um problema, no meu banco estou colocando uma tabela com metas. Cada indicador tem a sua e ela vale por um período. Como faço um CHECK que verifique se a data inserida no início e no final do período não esteja contido por outro período?
teria que ser algo +- assim:
Se eu colocar um valor fixo alí onde ta dando problema ele funciona. Alguma ideia de como resolver isso sem validar na aplicação?
Link to comment
Share on other sites
2 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.