FK para outro banco
boa noite galera, alguém sabe me dizer se isso é possível? (estou usando o sql server)
CREATE TABLE teate(
id INT IDENTITY(1,1) NOT NULL PRIMARY KEY,
idcliente INT,
FOREIGN KEY(idcliente) REFERENCES CURSO_SQL2014_IMPL.dbo.CLIENTES(idCliente)
)
estou tentando referenciar uma tabela que está em outro banco, e quando eu faço isso, dar esse erro:
Mensagem 1763, Nível 16, Estado 0, Linha 1
Não há suporte para referências de chave estrangeira em todos os bancos de dados. Chave estrangeira ''CURSO_SQL2014_IMPL.dbo.CLIENTES''.
Mensagem 1750, Nível 16, Estado 1, Linha 1
Não foi possível criar a restrição ou o índice. Consulte os erros anteriores.
Obrigado
CREATE TABLE teate(
id INT IDENTITY(1,1) NOT NULL PRIMARY KEY,
idcliente INT,
FOREIGN KEY(idcliente) REFERENCES CURSO_SQL2014_IMPL.dbo.CLIENTES(idCliente)
)
estou tentando referenciar uma tabela que está em outro banco, e quando eu faço isso, dar esse erro:
Mensagem 1763, Nível 16, Estado 0, Linha 1
Não há suporte para referências de chave estrangeira em todos os bancos de dados. Chave estrangeira ''CURSO_SQL2014_IMPL.dbo.CLIENTES''.
Mensagem 1750, Nível 16, Estado 1, Linha 1
Não foi possível criar a restrição ou o índice. Consulte os erros anteriores.
Obrigado
Demetrio Lopes
Curtidas 0
Respostas
Marcio Souza
01/09/2018
Você precisa usar o nome do banco de dados junto ao nome das tabelas.
Por exemplo, tenho duas tabelas a "dba.tabela_db_a" e a "dbb.tabela_db_b". E na tabela "dbb.tabela_db_b" vamos adicionar a chave estrangeira
Por exemplo, tenho duas tabelas a "dba.tabela_db_a" e a "dbb.tabela_db_b". E na tabela "dbb.tabela_db_b" vamos adicionar a chave estrangeira
ALTER TABLE `dbb`.`tabela_db_b` ADD INDEX `fk_tba_tbb_idx` (`tb_fk` ASC); ALTER TABLE `dbb`.`tabela_db_b` ADD CONSTRAINT `fk_tba_tbb` FOREIGN KEY (`tb_fk`) REFERENCES `dba`.`tabela_db_a` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION;
GOSTEI 0