locked
Objetos dos usuários RRS feed

  • Pergunta

  • Caros colegas, gostaria de fazer um seleção na tabela sysobjects da seguinte maneira: gostaria de ver todos os objetos que são de usuários(tabelas, visões, stored procedures,etc..) Quando faço esse comando:

    select * from sysobjects where xtype = 'U'

    ele retorna somente as tabelas de usuários.

    Quando faço este:

    select * from sysobjects where xtype = 'V'

    ele retorna todas as visões, inclusive aquelas que são do sistema.

    Quero um comando que mostre esses objetos, mas que sejam só dos usuários.

     

    Se alguém puder me ajudar,grata!!!

    sexta-feira, 25 de janeiro de 2008 18:49

Todas as Respostas

  • Com este select vc pode buscar procedures, functions, views, tabelas, etc.

     

    select name, xtype from sysobjects
     where xtype in ('V','U','P','TF','FN','IF')

     

    espero ter te ajudado.

    sexta-feira, 25 de janeiro de 2008 19:23
  • Eu preciso de tudo isso que vc colocou mesmo, porém só os objetos que são de usuários e não do sistema. É aí que está o problema, por que com as tabelas até dá certo, mas com visões, procedures e outros não dá.

     

    Grata!!!

    segunda-feira, 28 de janeiro de 2008 10:00
  • veja se ajuda

     

    Select * From SysObjects where (OBJECTPROPERTY(id, N'IsMSShipped')=1)

     

     

    Abs;

     

    segunda-feira, 28 de janeiro de 2008 10:43
  • Marcelo, esse comando que me passou mostra os objetos do sistema, mas achei o campo que parece ser o que preciso, o campo category. Fiz o teste em vários bancos e deu certo. O comando abaixo traz as tabelas, procedures, visões, rules e defaults que são somente de usuários.

     

    Select * From SysObjects a where a.xtype = 'U' or (a.xtype in ('V','P','R','D') and a.category = 0)

     

    Grata!!!

     

     

     

    segunda-feira, 28 de janeiro de 2008 11:52
  • Boa Lara, Abs.

     

    segunda-feira, 28 de janeiro de 2008 12:09