如何从表名中获取DB名称- SQL

  • 本文关键字:DB 名称 SQL 获取 sql
  • 更新时间 :
  • 英文 :


我有3个数据库

  1. shibbir_DB1
  2. shibbir_DB2
  3. 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()

这将返回一个与上面相同的记录集。

跑题了,但这听起来像是糟糕的设计。

最新更新