Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Manejar las tablas de Sistema

Estas en el tema de Manejar las tablas de Sistema en el foro de SQL Server en Foros del Web. Hola a todos, utilizo SQL SERVER 2000. Ahora, quisiera saber con que tablas (estaba viendo la sysindexkeys ) sé si un campo de la Base ...
  #1 (permalink)  
Antiguo 23/01/2006, 15:19
Avatar de rodri  
Fecha de Ingreso: febrero-2005
Mensajes: 406
Antigüedad: 19 años, 2 meses
Puntos: 2
Manejar las tablas de Sistema

Hola a todos, utilizo SQL SERVER 2000. Ahora, quisiera saber con que tablas
(estaba viendo la sysindexkeys ) sé si un campo de la Base (de una determinada tabla) es clave primaria???.

gracias por su ayuda

PD: estoy diseñando una aplicacion (que es mas una herramienta de ayuda) que genera toda una clase en c# con métodos que hacen Inserts,updates y Deletes. (por eso requiero que se sepan cuáles son los campos primarios para ponerlos en los where).
__________________
0.o Rodri
  #2 (permalink)  
Antiguo 23/01/2006, 15:45
Avatar de rodri  
Fecha de Ingreso: febrero-2005
Mensajes: 406
Antigüedad: 19 años, 2 meses
Puntos: 2
Por cierto estoy usando actualmente este query pero a veces me arroja campos no primarios.
Código:
select c.name from syscolumns c,sysobjects o where o.id =c.id and o.xtype = 'U' and o.id = <id_de_tabla> and typestat = 1 order by colid
Dos Preguntas mas: Para que sirven los campos xtype y xusertype de la tabla syscolumns?

gracias
__________________
0.o Rodri
  #3 (permalink)  
Antiguo 23/01/2006, 15:52
Avatar de rodri  
Fecha de Ingreso: febrero-2005
Mensajes: 406
Antigüedad: 19 años, 2 meses
Puntos: 2
Solucion

Hola nuevamente, creo que ya lo solucioné, al query anterior tendria que añadirsele lo siguiente:

Código:
and c.xtype = 56
es decir tendriamos lo siguiente.

Código:
select c.name,* from syscolumns c,sysobjects o where o.id =c.id and o.xtype = 'U' and o.id = [id_de_tabla] and typestat = 1  and c.xtype = 56 order by colid
si alguien tiene algun comentario lo agradeceria mucho.
__________________
0.o Rodri
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:18.