Sybase SQL Anywhere - CREATE TABLE XXXXX

 
Vista:

CREATE TABLE XXXXX

Publicado por Mauricio Castillo (5 intervenciones) el 17/12/2008 21:46:26
Hola estimados colaboradores, primero que nada doy las gracias por sus aportes me han resultado de mucha utilidad..
Tengo la siguiente consulta :
Deseo mediante un Proceso Almacenado crear una tabla, pero esta debe ser creada con el nombre de un valor indicativo en el ingreso del PA, pongo este codigo que es el que estoy trabajando ahora y no me resulta lo que deseo.
La idea es este PA pueda generar una tabla segun el valor ingresado, esta va ha ser temporal , es decir puede durar 1,2,3 dias vigente , luego el sistema la borraría, es necesario que sea de esta forma , no me sirve tener una tabla con varios registro..
si pueden ayudarme le estraia agradecido

Si el valor es 20156
Deberia crear una tabla de nombre "regist_20156"

*************************************************************************************
CREATE PROCEDURE CREA_TABLA (@valor char(10))
as

set transaction isolation level 1

DECLARE @forma CHAR(17)
SELECT @forma = "regist_"+@valor

create table #forma ( ID_1 char(6), ID_2 varchar(80), ID_3 integer )

commit transaction

;

Gracias por atender a leer mi consulta
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Respuesta

Publicado por Leopoldo Taylhardat (83 intervenciones) el 19/12/2008 20:41:22
Saludos.
Aqui tienes un procedure para crear tabla...
En este caso el nombre de la variable se la da quien ejecute el procedimiento (la aplicación o desde la misma bd desde un trigger, función u otro procedimiento.
Nota: Si defines que es temporal (#), la tabla dura hasta que el usuario se desconecte...

create procedure CREA_TABLA (in tablename varchar(64))
begin
-- Procedimiento para crear la tabla de ESCALAS desde la aplicación

execute immediate 'CREATE TABLE ' ||tablename|| ' (ESCALA varchar (15))';
end

Espero que te sirva...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar