select * from(exec sp_tables) as a where a.table_type='table'
语法有错误?

解决方案 »

  1.   

    --这样写肯定是有问题的。从存储过程结果集作为表的数据来源只能这样。
    create table #t(table_qualifier varchar(100),table_owner varchar(20),table_name varchar(100),table_type varchar(50),res text)
    insert into #t(table_qualifier,table_owner,table_name,table_type,res)
    exec sp_tablesselect * from #t where table_type='table'drop table #t--或者你想要什么东西,自己写语句来获取。不要使用存储过程。
      

  2.   

    create table #t(
    TABLE_QUALIFIER varchar(100),
    TABLE_OWNER     varchar(100),
    TABLE_NAME      varchar(100),
    TABLE_TYPE      varchar(100),
    REMARKS         varchar(100))insert into #t exec sp_tables select * from #t where table_type='table'
      

  3.   

    不知道该怎么改!!
    那就先建好与 exec sp_tables 返回结构相同的表bb
    然后: insert bb exec sp_tables
    select * from bb where bb.table_type='table'这样转一下!还是希望能用一条SQL语句实现
    等待中.....