FK para outro banco

SQL Server

SQL

01/09/2018

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
Demetrio Lopes

Demetrio Lopes

Curtidas 0

Respostas

Marcio Souza

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

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
POSTAR