【问题标题】:Using a Hidden Stored Procedure使用隐藏的存储过程
【发布时间】:2011-02-03 22:21:11
【问题描述】:

我正在尝试使用以下存储过程从服务器获取数据库。但是,我只想要一个月前创建的数据库。我该怎么做才能完成这项工作?

代码如下:

sp_msforeachdb 'IF ''?'' like ''z%'' 
BEGIN
  print ''?''
END'

我只想要在某个月份创建的以 Z 开头的数据库。

【问题讨论】:

    标签: sql sql-server tsql stored-procedures sp-msforeachdb


    【解决方案1】:

    这个怎么样。

    select name
        from sys.databases
        where name like 'z%'
            and create_date >= dateadd(mm,-1,getdate())
    

    【讨论】:

    • 问题是,我正在尝试遍历多个数据库并尝试不使用游标或循环。我之前在游标中尝试过您的代码,但需要一段时间来收集我需要的数据。
    • @Jeff:不确定我是否遵循。 sp_msforeachdb 引擎盖下的光标。你可以通过运行自己看到这一点:sp_helptext 'sp_msforeachdb'
    • @Jeff:Joe Stefanelli 为您提供了一种无需光标或循环即可解决问题的方法。他正在从系统目录中进行选择,这是您可以查询的视图。除非问题发生变化,否则我会说这是一个答案。它没有给你想要的吗?
    • +1。这可能无法回答 OP 的期望,但肯定回答了问题。
    猜你喜欢
    • 2018-04-07
    • 2018-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-27
    • 1970-01-01
    相关资源
    最近更新 更多