Ir para conteúdo
Fórum Script Brasil
  • 0

COMPUTED BY - ATÉ AGORA NÃO ENCONTREI SOLUÇÃO


HELENO de Sant'Anna

Pergunta

Na tabela seguinte faço o cadastro de todas as escolas municipais do município aonde moro:

--------------------------------------------------------------------------------------------------------------------------

CREATE TABLE "ESCOLAORGAO"
(
"ESC_CODIGO" INTEGER NOT NULL,
"ESC_NOME" VARCHAR(50) NOT NULL,
"ESC_CODINEP" VARCHAR(8),
"ESC_LOGRADOURO" INTEGER NOT NULL,
"ESC_ENDERECO" VARCHAR(60),
"ESC_NUMERO" VARCHAR(10),
"ESC_BAIRRO" VARCHAR(40),
"ESC_CIDADE" INTEGER NOT NULL,
"ESC_ESTADO" INTEGER NOT NULL,
"ESC_TELEFONE" VARCHAR(15),
"ESC_EMAIL" VARCHAR(40),
"ESC_CEP" VARCHAR(9),
"ESC_ALUNOS" VARCHAR(5),
"ESC_LOCALIZACAO" CHAR(1),
"ESC_DATACADASTRO" TIMESTAMP,
"ESC_OBSERVACOES" VARCHAR(150),
"ESC_CNPJ" VARCHAR(18),
"ESC_LOGO" VARCHAR(50),
"ESC_CADASTROESCOLAR" VARCHAR(10),
"ESC_PORTARIA" VARCHAR(10),
"ESC_DATAPORTARIA" TIMESTAMP,
"ESC_COMPLEMENTO" VARCHAR(20),
"ESC_TIPOINSTITUICAO" CHAR(1),
CONSTRAINT "ESCOLAORGAO_PK" PRIMARY KEY ("ESC_CODIGO")
);
CREATE INDEX "IND_COD_ESCOLAORGAO" ON "ESCOLAORGAO"("ESC_CODIGO");
CREATE INDEX "IND_NOME_ESCOLAORGAO" ON "ESCOLAORGAO"("ESC_NOME");
ALTER TABLE "ESCOLAORGAO" ADD CONSTRAINT "ESCCID_FK" FOREIGN KEY ("ESC_CIDADE") REFERENCES "CIDADES" ("CID_CODIGO");
ALTER TABLE "ESCOLAORGAO" ADD CONSTRAINT "ESCESTADO_FK" FOREIGN KEY ("ESC_ESTADO") REFERENCES "ESTADOS" ("EST_CODIGO");
ALTER TABLE "ESCOLAORGAO" ADD CONSTRAINT "ESLOG_FK" FOREIGN KEY ("ESC_LOGRADOURO") REFERENCES "LOGRADOUROS" ("LOG_CODIGO");
---------------------------------------------------------------------------------------------------------------------------------------------------------------------
Como os DIRETORES já são cadastrados na tabela FUNCIONÁRIOS, então eu pretendo criar um CAMPO CALCULADO direto na tabela ESCOLAS para EXIBIR o nome do(a) Diretor(a). Então usei o seguinte código SQL:
alter table escolaOrgao
add esc_diretor COMPUTED BY ((
select fun_nome from funcionarios
join cargoFuncao on (fun_funcao = car_codigo)
where car_nome = 'DIRETOR(A)'));
Só que dá ERRO quando vou abrir a tabela ESCOLAS pois o código SQL acima lista o nome de todos os diretores de todas as escolas e não de uma escola específica.
Desse modo, como eu posso incrementar o código SQL acima para para que ele liste apenas o nome do diretor cadastrado para a escola na tabela funcionários?
Parte do código da tabela funcionários:
CREATE TABLE "FUNCIONARIOS"
(
"FUN_CODIGO" INTEGER NOT NULL,
"FUN_NOME" VARCHAR(60) NOT NULL,
"FUN_VINCULOEMPREGATICIO" INTEGER NOT NULL,
"FUN_CARGO" INTEGER NOT NULL,
"FUN_FUNCAO" INTEGER NOT NULL,
"FUN_DATAADMISSAO" TIMESTAMP,
"FUN_ESCOLAORGAO" INTEGER NOT NULL,
.
.
.
Ficarei muito grato por quem puder me ajudar.
Desde já um abraço a todos.

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...