Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/10/2011, 11:43
Goalfredo
 
Fecha de Ingreso: septiembre-2009
Mensajes: 15
Antigüedad: 14 años, 7 meses
Puntos: 0
Crear una funcion para generar el "codigo"

Buenas... la idea que tengo es la siguiente:

Código:
create function getMaxCod
(
	@mctabnom varchar(20),
	@mccamnom varchar(20),
	@gclencod smallint
)
returns varchar(5)
as
begin
	declare @maxcod int,@gencod varchar(6)
	set @maxcod = (select max(mccamnom) from @mctabnom);
	if @maxcod = null
		set @maxcod = 0;
		set @maxcod = @maxcod + 1
	set @gencod = @maxcod;
	while len(@gencod) < @gclencod
		set @gencod = '0' & @gencod;
end
Estube creando y "jugando" con ese codigo, parece que la idea de VisualStudio no funciona tan bien en SQL, y si obviamente no soy bueno en SQL, ya que recien ando aprendiendo.

Lo que me refiero es a lo siguiente...
Quisiera generar una funcion que genere un código automaticamente (ex: "0001")
Tomando en cuenta 3 variables que serian [la tabla],[el campo],[y el tamaño de dicho campo].
Entonces...
Mi idea primordial, basica, es hacer un Select para determinar el valor máximo (si es que existe algun valor) de dicha tabla y luego simplemente sumarle 1 al valor del campo y asi generar el siguiente valor del CODIGO (ex: "0002")

Y como quiero que funcione en cualquier caso, es decir
cualquier nombre de tabla
cualquier nombre de campo
cualquier tamaño del campo
se me hace algo complicado porque aun no entiendo muy bien como transformar o llamar al tipo de variables correctas.

Cualquier sugerencia o alguna otra idea sera bienvenida.

Gracias por adelantado.