Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > MS SQL Server
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 09-10-2004
JuanSB JuanSB is offline
Registrado
 
Registrado: oct 2004
Posts: 2
Poder: 0
JuanSB Va por buen camino
Question Borrar datos de tablas

Hola a tod@s:

Tengo una base de datos en SQL Server. Casi todas ellas tienen campos autoincrementales para las claves primarias. Deseo borrar todos los datos, y al mismo tiempo reiniciar el contador de "identidad". He leído que con "truncate table" se puede hacer, pero no en tablas con claves foráneas.

¿Alguna solución?

Muchas gracias de antemano.
Responder Con Cita
  #2  
Antiguo 11-10-2004
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.293
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Post

Sé que se puede hacer borrando la columna y volviendola a crear, pero talvez exista (casi seguro) una solución más eficiente.

Código SQL [-]
DELETE FROM Tabla1
ALTER TABLE Tabla1 DROP COLUMN CAmpoInc
ALTER TABLE Table1 ADD CampoInc int IDENTITY(1,1)
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 11-10-2004
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.293
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por Neftali
...pero talvez exista (casi seguro) una solución más eficiente
Efectivamente existe, puedes utilizar DBCC CHECKIDENT; Después del borrado puedes ejecutar ésta instrucción para inicializar de nuevo la semilla.

Código SQL [-]
DELETE FROM Tabla1
DBCC CHECKINDENT (Tabla1, RESEED, 0)

En lugar de 0 puedes utilizar el valor de inicialización que deses.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 05:53:20.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi