English 中文(简体)
创建与外部服务器数据库的关系
原标题:Create a relationship with an external SQL Server database

我有一个公司桌子,拥有我公司同公司做生意的所有公司,并居住在公司数据库中。

我想与这个表格和另一个完全不同的数据库(人事数据库)的表(人事表)建立关系。

两个数据库都在同一个服务器上。

我如何做到这一点?

最佳回答

To select the data using a common key you can create a view that includes a three-part qualifier: database-schema-table. Below I assume that each personnel entry has a CompanyID field that ties them together and that dbo is the schema. If such a field doesn t exist, you will need to create and populate one:

CREATE VIEW vCompanyPersonnel AS SELECT * FROM tblCompany t1 JOIN dbPersonnel.dbo.tblPersonnel t2 ON t1.ID = t2.CompanyID

同样,为了对表格进行更新并保持参考性完整性,你需要制定储存程序,只允许使用这些表格更新数据(这是最佳做法,是任何途径)。 你们还应确保人事表中的公司工地不允许无效价值。 一些考虑:

  • Add Personnel: require a CustomerID input parameter and make sure it exists in the Company table. If not, RAISERROR.
  • Delete/Deactivate Customer: also delete/deactivate all associated personnel, preferably having the whole process wrapped in a transaction (all or nothing).
问题回答

"Although you cannot use a foreign key in this situation, there are workarounds – you can use either triggers or UDFs wrapped in check constraints. Either way, your data integrity is not completely watertight: if the database with your parent table crashes and you restore it from a backup, you may easily end up with orphans."

外国 不同数据库表上的钥匙





相关问题
SQL SubQuery getting particular column

I noticed that there were some threads with similar questions, and I did look through them but did not really get a convincing answer. Here s my question: The subquery below returns a Table with 3 ...

难以执行 REGEXP_SUBSTR

I m 查询Oracle 10g。 我有两张表格(样本数据见下文)。 i m 试图提取一些领域

SQL Query Shortcuts

What are some cool SQL shorthands that you know of? For example, something I learned today is you can specify to group by an index: SELECT col1, col2 FROM table GROUP BY 2 This will group by col2

PHP array callback functions for cleaning output

I have an array of output from a database. I am wondering what the cleanest way to filter the values is example array Array ( [0] => Array ( [title] => title 1 ...

OracleParameter and DBNull.Value

we have a table in an Oracle Database which contains a column with the type Char(3 Byte). Now we use a parameterized sql to select some rows with a DBNull.Value and it doesn t work: OracleCommand ...

Running numbers in SQL

I have a SQL-statement like this: SELECT name FROM users WHERE deleted = 0; How can i create a result set with a running number in the first row? So the result would look like this: 1 Name_1 2 ...

How to get SQL queries for each user where env is production

I’m developing an application dedicated to generate statistical reports, I would like that user after saving their stat report they save sql queries too. To do that I wrote the following module: ...

热门标签