基于用户的数据库的别名/同义词



是否有可能有相同的查询,但基于不同的用户当前登录,从不同的数据库请求信息?

举个例子:我们有一个应用程序有不同的环境dev/test/int等。对于每个环境,我们都有到MSSQL Server的不同JDBC连接。主要思想是,总是使用相同的查询,如:

SELECT * FROM config_db.clients

但在内部,基于当前用户在连接字符串(如user_dev, user_test等)从config_db_dev, config_db_test等获得响应?我希望这个问题是有意义的。

提前感谢!

是否有可能有相同的查询,但基于不同的用户当前登录,从不同的数据库请求信息?

确定。登录有默认的数据库,用户有默认的模式。

这两种方法都会影响对象名称解析。

如果使用由1部分组成的名称,如

SELECT * FROM clients

则SQL Server将查找名为"clients"的对象。首先在用户的默认模式中,然后在当前数据库的dbo模式中。

如果使用由两部分组成的名称,如

SELECT * FROM foo.clients

则SQL Server将查找名为"clients"的对象。在"在">

最新更新