Procedimeinto sp_pkeys

15/02/2006 - 00:24 por Jorge Aguilar | Informe spam
Hola a todos estpoy tratando de hacer un store que me retorne todas las
columnas de la llave primaria de todas las tablas y no me sale nada
,buscando por ahi encontre lo sgte que comparto con ustedes al final sin
embargo queiro hacer lo mismo pero no funciona cuando quiero ejecutar ls
siguiente:

CREATE TABLE #Tbl_pk (
basedato varchar(100),
usuario varchar(100),
tabla varchar(100),
columna varchar(100),
llave INT,
nombre_llave varchar(100))
EXEC sp_MSforeachtable 'insert into #Tbl_pk SP_PKEYS ''?'''
select top 10 * from #Tbl_pk
drop table #Tbl_pk

create table #rowcount (tablename varchar(128), rowcnt int)
exec sp_MSforeachtable
'insert into #rowcount select ''?'', count(*) from ?'
select top 5 * from #rowcount
order by tablename
drop table #rowcount

Gracias,
Jorge
 

Leer las respuestas

#1 Alejandro Mesa
15/02/2006 - 20:02 | Informe spam
Jorge,

ese procedimineto no esta documentado, por lo que te recomiendo no lo uses
en codigo de produccion. Microsoft no te dara soporte cuando usas este tipo
de codigo.

CREATE TABLE #Tbl_pk (
basedato varchar(100),
usuario varchar(100),
tabla varchar(100),
columna varchar(100),
llave INT,
nombre_llave varchar(100))

EXEC sp_MSforeachtable 'set nocount on declare @table_name sysname set
@table_name = parsename(''?'', 1) insert into #Tbl_pk exec sp_pkeys
@table_name'

select top 10 * from #Tbl_pk

drop table #Tbl_pk
go



AMB

"Jorge Aguilar" wrote:

Hola a todos estpoy tratando de hacer un store que me retorne todas las
columnas de la llave primaria de todas las tablas y no me sale nada
,buscando por ahi encontre lo sgte que comparto con ustedes al final sin
embargo queiro hacer lo mismo pero no funciona cuando quiero ejecutar ls
siguiente:

CREATE TABLE #Tbl_pk (
basedato varchar(100),
usuario varchar(100),
tabla varchar(100),
columna varchar(100),
llave INT,
nombre_llave varchar(100))
EXEC sp_MSforeachtable 'insert into #Tbl_pk SP_PKEYS ''?'''
select top 10 * from #Tbl_pk
drop table #Tbl_pk

create table #rowcount (tablename varchar(128), rowcnt int)
exec sp_MSforeachtable
'insert into #rowcount select ''?'', count(*) from ?'
select top 5 * from #rowcount
order by tablename
drop table #rowcount

Gracias,
Jorge



Preguntas similares