SQL Server - Ayuda con un store procedure

 
Vista:
sin imagen de perfil

Ayuda con un store procedure

Publicado por JorxD (2 intervenciones) el 28/05/2014 05:39:49
Hola a todos los amigos del foro necesito una ayuda en una sentencia sql mi problema es en generar codigo consecutivo ejemplo 000001 pero el problema es en que primero debo evaluar 4 categorias "F0001", "F0002", "F0003", "F0004"; si escojo F0001 aumenta en 000001 y así sucesivamente; cuando entre a otro formulario con otra categoria debe iniciar en 000001 de nuevo y así va recorriendo la tabla

este es la sentencia que e tratado de hacer no se si esta bien todavía soy novato en el sql y visual

1
2
3
4
5
6
7
8
9
10
11
ALTER proc [dbo].[Codigo_orden]
as
select case Cod_fuente
when 'F0001' then right('00000'+ convert(nvarchar,count(*)+1),6)
When 'F0002' then right('00000'+ convert(nvarchar,count(*)+1),6)
when 'F0003' then right('00000'+ convert(nvarchar,count(*)+1),6)
when 'F0004' then right('00000'+ convert(nvarchar,count(*)+1),6)
else right('00000'+ convert(nvarchar,count(*)+1),6)
end
from Orden
GROUP BY Cod_fuente;

=======================================================
Visual
=======================================================

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Public Function GenerarCodigo_orden() As DataTable
 
        Try
            conectado()
            cmd = New SqlCommand("Codigo_orden")
            cmd.CommandType = CommandType.StoredProcedure
            cmd.Connection = cnn
 
            If cmd.ExecuteNonQuery Then
                Dim dt As New DataTable
                Dim da As New SqlDataAdapter(cmd)
                da.Fill(dt)
 
                Return dt
            Else
                Return Nothing
            End If
 
        Catch ex As Exception
            MsgBox(ex.Message)
            Return Nothing
        Finally
            desconectado()
        End Try
    End Function
===========================================================================================
Antemano muchas gracias por su colaboración ^^!
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
Imágen de perfil de Isaias
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

Ayuda con un store procedure

Publicado por Isaias (4558 intervenciones) el 28/05/2014 17:38:49
Tu "problema" no esta en SQL Server, mas bien deberías preguntar en el foro de programacion
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

Ayuda con un store procedure

Publicado por JorxD (2 intervenciones) el 28/05/2014 18:04:44
Okey gracias isaias por tu recomendación
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
sin imagen de perfil

Ayuda con un store procedure

Publicado por Miguel (14 intervenciones) el 29/05/2014 15:18:29
Hola,
Solo acotar una cosa, si lo que quieres es generar números consecutivos el código Sql que usas no te servirá, ya que el count(*) lo unico que hace es contar las filas que fueron agrupadas/resumidas, osea que para este caso particular, si cada cod_fuente se repite solo una vez en la tabla, repetira para todas las filas la secuencia 2 (1+1),

Para lograr lo que necesitas, te sugiero investigar la funcion ROW_NUMBER(),

Espero te sirva de guia,
Saludos,
Miguel
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