Problemas de transac SQL

Saludos,
mi pregunta es la siguiente porque en SYBASE trnsac SQL tengo el siguiente problema: en un procedimiento almacenado tengo una parte donde verifico si una tabla existe en la base y si no entonces que la cree, pero el problema es que la compilar el procedimiento me dice que la la tabla ya existe y que no puede continuar, pero el create table esta dentro de una condición que verifica si la tabla existe o no le la base!
select @very = count(*) from sysobjects where name = "rino_resultados_interconexion"
if (@very = 0) --Solo entra si no existe la tabla en la base
begin
CREATE TABLE dbo.rino_resultados_interconexion
(
t_correlativo numeric(18,0) NOT NULL,
t_reporte numeric(18,0) NOT NULL,
t_seccion int NULL,
t_linea int NULL,
t_descripcion char(100) NOT NULL,
t_codigo_clase_tarifa int NULL,
t_charging char(6) NULL,
t_clase_tarifa char(6) NULL,
t_tiempo_minutos int NULL,
t_tiempo_segundos int NULL,
t_cant_de_llamadas int NULL
)
LOCK ALLPAGES
end

1 respuesta

Respuesta
1
Por que no engañamos al DBMS de la siguiente manera:
- Haz un bcp (o su equivalente en SyBase) o sea un backup de los datos de ña tabla.
- La eliminas (drop)
- COmpilas el SP
- Y creas la base de nuevo.
La eliminación podría ser:
- un select into a una tabla temporal
- Un drop
... compilar
- otro select into desde la tabla tempoaral a la tabla original.
Espero que te sirva, por favor cuenbtame como te fue a
[email protected]
Mariano

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas