如何在SQL中查找当前连接的数据库名称

8
我们有一个变更控制环境,在这个环境中,开发人员将脚本交给变更控制人员运行。我们有开发、质量保证和生产环境。
我希望能够有条件地执行几个片段,根据变更控制人员运行我的脚本的数据库不同,做一些不同的事情。
If @dbname='dev'
then
begin
 --do some dev stuff
end
If @dbname='QA'
then
begin
 --do some qa stuff
end
If @dbname='Prod'
then
begin
 --do some production stuff
end

我该如何获取当前连接的数据库并填写@dbname?


1
这在DBA级别上还可以(如果有点可疑),但如果你在开发者组中,这就是纯粹的恶行 - 千万别这样做。 - Joel Coehoorn
下面的答案告诉你“如何”,但我同意Joel的观点。这会在未来带来麻烦。 - wlangstroth
这是关于编程的内容。主要是为了安全考虑。数据库已经从生产环境中刷新。开发人员不允许进入生产环境。我通过编程将开发人员添加到QA和DEV环境中,并将QA人员作为脚本的一部分添加到QA环境中,不会在生产环境上触及安全性。 - gjutras
3个回答

15

我认为它就像:

SELECT DB_NAME() AS DBName

7

SELECT db_name() 可以解决问题。


6

使用系统函数db_name()

Select db_Name()

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接