Procedure para eliminar y borrar un tabla

05/07/2004 - 18:49 por iker | Informe spam
Buenas otra vez,

Estoy tratando de crear un procedimiento almacenado que me elimine un a
tabla y me la cree. Supongo que es la solucion a que se me llene una tabla
(Si le pongo un indice y ejecuto un insert de 1000 registros acabara por
llenarse, y a mi me interesa que el indice empiece desde el 1 al ejecutar el
insert) el caso es que no me deja, me da todo tipo de errores: que si la
tabla ya existe, que si el procedimiento ya existe... lo mismo no se puede
hacer de esta forma...
CREATE PROCEDURE [dbo].[CreaTemp]
AS
if exists (select * from dbo.sysobjects where id object_id(N'[dbo].[tTemporal]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[tTemporal]
GO

CREATE TABLE [dbo].[tTemporal] (
[id] [tinyint] IDENTITY (1, 1) NOT NULL ,
[fec1] [datetime] NOT NULL ,
[fec2] [datetime] NOT NULL ,
[num] [int] NULL
) ON [PRIMARY]
GO

veis algo que este mal? alguna solucion?

Lo que trato de hacer es borrar la tabla y crearla de nuevo pa que el indice
empiece desde 0 y luego hacer un insert de muchos registros a esta
tabla(tTemporal) para mostrarlos.

Gracias de antemano otra vez.

iKER-
 

Leer las respuestas

#1 Gustavo Larriera [MVP SQL]
05/07/2004 - 18:55 | Informe spam
No entendí muy bien tu problema, pero quisiera sugerirte:

- Si lo que deseas es reconstruir indices, utiliza el comando DBCC DBREINDEX
- Si lo que deseas es reinicializar valores IDENTITY, utiliza: DBCC
CHECKIDENT

Gustavo Larriera
Uruguay LatAm
http://sqljunkies.com/weblog/gux/
Este mensaje se proporciona "COMO ESTA" sin garantias y no otorga ningun
derecho / This posting is provided "AS IS" with no warranties, and confers
no rights.
"iker" wrote in message
news:e7qvk$
Buenas otra vez,

Estoy tratando de crear un procedimiento almacenado que me elimine un a
tabla y me la cree. Supongo que es la solucion a que se me llene una tabla
(Si le pongo un indice y ejecuto un insert de 1000 registros acabara por
llenarse, y a mi me interesa que el indice empiece desde el 1 al ejecutar


el
insert) el caso es que no me deja, me da todo tipo de errores: que si la
tabla ya existe, que si el procedimiento ya existe... lo mismo no se puede
hacer de esta forma...
CREATE PROCEDURE [dbo].[CreaTemp]
AS
if exists (select * from dbo.sysobjects where id > object_id(N'[dbo].[tTemporal]') and OBJECTPROPERTY(id, N'IsUserTable') 1)
drop table [dbo].[tTemporal]
GO

CREATE TABLE [dbo].[tTemporal] (
[id] [tinyint] IDENTITY (1, 1) NOT NULL ,
[fec1] [datetime] NOT NULL ,
[fec2] [datetime] NOT NULL ,
[num] [int] NULL
) ON [PRIMARY]
GO

veis algo que este mal? alguna solucion?

Lo que trato de hacer es borrar la tabla y crearla de nuevo pa que el


indice
empiece desde 0 y luego hacer un insert de muchos registros a esta
tabla(tTemporal) para mostrarlos.

Gracias de antemano otra vez.

iKER-


Preguntas similares