小编lea*_*ner的帖子

如何使用临时表变量(例如@temp)来保存 sp_msforeachdb 的结果

我基本上是在尝试使用 sp_msforeachdb 找出 SQL SERVER 中存在的所有数据库的所有表。

如果我写 exec sp_msforeachdb 'select "?" AS DatabaseNames,* from [?].sys.tables'

我会得到很好的结果,但是对于每个数据库,都会创建一个单独的记录集。

现在如果我使用

CREATE TABLE #DBINFO
(
            DbName NVARCHAR(255)
            ,ObjectID NVARCHAR(255)
)

INSERT INTO #DBINFO
exec sp_msforeachdb 'select "?" AS DatabaseNames,ObjectID  from [?].sys.tables'

SELECT * FROM #DBINFO
Run Code Online (Sandbox Code Playgroud)

这工作正常。

但是,如果我这样做

Declare @DBINFO Table(DbName NVARCHAR(255),ObjectID NVARCHAR(255))
INSERT INTO @DBINFO
    exec sp_msforeachdb 'select "?" AS DatabaseNames,ObjectID  from [?].sys.tables'

    SELECT * FROM @DBINFO
Run Code Online (Sandbox Code Playgroud)

它不接受

此外,如果我这样做

;With CTE AS
(
  exec sp_msforeachdb 'select "?" AS DatabaseNames,* from [?].sys.tables'
)

Select * …
Run Code Online (Sandbox Code Playgroud)

sql-server-2005

3
推荐指数
1
解决办法
6469
查看次数

如何获取xml属性值?

假设我有一些 xml。如何使用VB获取属性值?

xml vb6

1
推荐指数
1
解决办法
1万
查看次数

标签 统计

sql-server-2005 ×1

vb6 ×1

xml ×1