Relacionamentos em MySql
Enviado: 12 Nov 2018 17:02
Como poderei criar o relacionamento entre tabelas direto via código (PRG), pois no inicio do sistema tenho uma função que cria as tabelas e o banco de dados, porém não estou conseguindo inserir o código para a criação de Chaves-Estrangeiras, segue o código que tenho:
Na tabela de Empresas tem o 'ID_CIDADE' que deverá se relacionar com 'ID' da tabela de Cidades. O código acima está funcionando, porém somente cria as tabelas, não tem relacionamento algum, alguém pode me ajudar?
Código: Selecionar todos
* cidades
if ascan(aTabelasExistentes,lower('cidades')) != 0
else
cQuery := 'CREATE TABLE cidades (id INT UNSIGNED NOT NULL AUTO_INCREMENT,'+;
'codigo INT,'+;
'municipio VARCHAR(50),'+;
'uf CHAR(2),'+;
'data_cad date,'+;
'hora_cad char(08),'+;
'PRIMARY KEY (id)) ENGINE=InnoDB DEFAULT CHARSET=utf8'
oQuery := oServer:Query(cQuery)
if oServer:NetErr()
msginfo('Erro criando tabela : cidades : '+oServer:Error(),'Atenção')
form_main.release
endif
oQuery:Destroy()
endif
* empresas
if ascan(aTabelasExistentes,lower('empresas')) != 0
else
cQuery := 'CREATE TABLE empresas (id INT UNSIGNED NOT NULL AUTO_INCREMENT,'+;
'NOME VARCHAR(50),'+;
'CGC CHAR(18),'+;
'FANTASIA VARCHAR(50),'+;
'TELEFONE CHAR(11),'+;
'ID_CIDADE INT,'+;
'data_cad date,'+;
'hora_cad char(08),'+;
'PRIMARY KEY (id)) ENGINE=InnoDB DEFAULT CHARSET=utf8'
oQuery := oServer:Query(cQuery)
if oServer:NetErr()
msginfo('Erro criando tabela : empresas : '+oServer:Error(),'Atenção')
form_main.release
endif
oQuery:Destroy()
endif