Inquiridor
Objetos dos usuários

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