Bases de Datos - CODIGO GENERADO SIN IDENTITY DENTRO DE UN PROCEDIMIENTO ALMACENADO

   
Vista:
Imágen de perfil de Karen

CODIGO GENERADO SIN IDENTITY DENTRO DE UN PROCEDIMIENTO ALMACENADO

Publicado por Karen (1 intervención) el 10/07/2014 05:03:19
Buenas. Estoy haciendo una base de datos pero quiero hacer que el codigo de las tablas al momento de ingresar sean generadas y no ingresadas, ya que el cliente desconocería como es la estructura del codigo.
Ahora estoy probando con una alternativa:

IF OBJECT_ID ('ins_genero_sp') is not null
DROP PROCEDURE ins_genero_sp
GO
CREATE PROCEDURE dbo.ins_genero_sp
(

@nombre nombre,
@usuario usuario
)
AS
BEGIN
DECLARE
@codigo codigo

if exists (
select *
from [dbo].[Genero]
where nombre = @nombre
and usuario = @usuario
)

print 'LOS DATOS YA FUERON INGRESADOS EN LA TABLA GÉNERO!!'
else


INSERT INTO [PELICULAS].[dbo].[Genero]
(codigo,nombre,usuario)

values ((select '00'+convert(char(4),(select count(*) from dbo.Genero))),@nombre,@usuario)



END

EXEC ins_genero_sp 'COMEDIA NEGRA','AMVA'

SELECT *
FROM Genero



/* COMENTARIOS:

ahora el codigo generado debe ser de char (4), pero creo que debo validar cuando mis datos sean

0000-0009
0010-0099

i asi sucesivamente...

--IF (SELECT LEN(@codigo) AS Length FROM Genero) = 1
--(select @codigo = '000'+(select @codigo from dbo.Genero))
--ELSE
--BEGIN
--IF (SELECT LEN(@codigo) AS Length
--FROM Genero) = 2
--BEGIN
--(select @codigo = '00'+(select @codigo from dbo.Genero))
--END
--END

*/


mi pregunta es si existe una alternativa para generar un codigo de forma automatica pero sin utilizar identity... mientras ingreso los datos de "X" tabla. Gracias
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