我有3个数据库
- shibbir_DB1
- shibbir_DB2
- shibbir_DB3
每个数据库都有项目表格在这个表中,我有一个id_project列值。
现在,如何获得数据库id_project价值吗?
任何想法?
在SQL Server中,您可以使用SELECT DB_NAME()
来查找您的查询正在运行的数据库上下文的名称。
的例子:
CREATE TABLE test (
id int IDENTITY(1,1)
, mydata char(1)
, db_name sysname
)
INSERT INTO test VALUES ('a', DB_NAME()), ('b',DB_NAME()), ('c',DB_NAME())
SELECT * FROM test
应该返回如下内容:
1, a, MYDB
2, b, MYDB
3, c, MYDB
要使用现有表执行相同的操作,可以简单地运行ALTER TABLE
语句,然后运行UPDATE来填充它:
CREATE TABLE test (
id int IDENTITY(1,1)
, mydata char(1)
--, db_name sysname
)
INSERT INTO test VALUES ('a'), ('b'), ('c')
ALTER TABLE test ADD db_name sysname
UPDATE test SET db_name = DB_NAME()
这将返回一个与上面相同的记录集。
跑题了,但这听起来像是糟糕的设计。