Código de SQL - Procecimiento almacenado en SQL Server 7.0

Procecimiento almacenado en SQL Server 7.0gráfica de visualizaciones


SQL

estrellaestrellaestrellaestrellaestrella(8)
Publicado el 25 de Febrero del 2002 por Eudardo Alca
44.532 visualizaciones desde el 25 de Febrero del 2002. Una media de 63 por semana
Ejemplo de un procedimiento almacenado que recibe como parámetro de entrada, el Código del Cliente y visualiza Todas las Facturas de Dicho Cliente.

Versión 1
estrellaestrellaestrellaestrellaestrella(8)

Publicado el 25 de Febrero del 2002gráfica de visualizaciones de la versión: Versión 1
44.533 visualizaciones desde el 25 de Febrero del 2002. Una media de 63 por semana
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

Aprendiendo a programar con SQL 7.0
Responsable : Tomas Eduardo ALCA Ojeda - Analista Programador
Mail : prog_anal@hotmail.com
Mail : eduardo_alca@hotmail.com
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
*****Esta Sentencia Permite verificar si ya existe el Procedimiento, en caso que así sea
*****lo elimina
if exists(select * from sysobjects WHERE name='sp_ejempl01')
	begin
		drop procedure sp_ejempl01
	end
**********************************************************************
 
create procedure sp_ejempl01
@_cod_cli char(5)
as
declare @_num_fact as char(6),@_cod_emp as char(6),@_nombre varchar(40)
declare @_sub_total as numeric(6,2),@_igv as numeric(6,2),@_total as numeric(6,2)
declare @_contador as int
set nocount on
declare  cFacturas cursor for
select num_fact,cod_emp,sub_total,igv,total from facturas
where  cod_cli=@_cod_cli
open cFacturas
print '                                 Listado de Facturas por clientes '
print '                                 ---------------------------------'
print '                                                                  '
print 'Codigo'+'.........'+@_cod_cli
print ''
set @_contador=0
fetch next from cFacturas into @_num_fact,@_cod_emp,@_sub_total,@_igv,@_total
	while (@@fetch_status=0)
		begin
		print  @_num_fact+'  '+@_cod_emp+'  '+str(@_sub_total,6,2)+'  '+str(@_igv,6,2)+'  '+str(@_total,6,2)
		set @_contador=@_contador+1
		fetch next from cFacturas into @_num_fact,@_cod_emp,@_sub_total,@_igv,@_total
		end
		print  ''
		print  'Filas Procesadas'+'..............'+str(@_contador,6,0)
		close cFacturas
		deallocate cFacturas
	set nocount off
*********para Ejecutar el Procedimiento se digita dicha sentencia
*********"C0002 viene hacer el Código del Cliente"
 
execute sp_ejempl01 "C0002"



Comentarios sobre la versión: Versión 1 (8)

miguel angel
15 de Mayo del 2002
estrellaestrellaestrellaestrellaestrella
como puedo restar en una sola tabla
Responder
Alberto
07 de Junio del 2002
estrellaestrellaestrellaestrellaestrella
Que bien... te felicito. Este codigo aunque sencillo, ayuda mucho.
Responder
Paul Quispe Pachas
26 de Junio del 2002
estrellaestrellaestrellaestrellaestrella
Sabes, que justo estoy manejando procedure stored, en mis clases, de diseño de mi facultad(FISC, de la UIGV), y sabes, creo que me podrias ayudar, si me ayudas a hacer la siguiente aplicacion:
Estoy trabajando con SQL, como DBMS, y Power Builder para hacer las aplicaciones, lo que se me pide, es validar a un usuario(un tabla usuario en SQL) solo 3 veces al dia, si falla esa tres veces, este usuario no podra acceder al sistema todo ese dia, tengo ideas, de que puedo combinar un variable fecha, y enlazarla a SQL, y jalarla de una tabla, que aumente el numero de intentos, y si llega a tres, este usuario no puede ingresar todo ese dia, pero lo dificil, es el codigo, espero pues, ayuda, la necesito
Responder
X-Herz
28 de Agosto del 2002
estrellaestrellaestrellaestrellaestrella
Estimado.

Estas usando un cursor, metodo que consume memoria extra de cualquier servidor de SQL. ademas no se justufica, ya que se puede remplazar por:

select
'numero de factrura' = num_fact, 'Codigo_Empreado' = cod_emp,
'subtotal' = sub_total, 'igv' = igv,
'total' = total,'totalfacturas' = count(*)
from facturas where cod_cli = @_Cod_Cli

Con el debido respeto.
Responder
perico
05 de Noviembre del 2002
estrellaestrellaestrellaestrellaestrella
con los debidos respetos, en linea del anterior comentario, el uso de cursores es especialmente desaconsejable en SQL Server
saludos
Responder
jes
18 de Diciembre del 2002
estrellaestrellaestrellaestrellaestrella
comparto el comentario anterior... no se requiere un cursor para una consulta tan sencilla.. solo basta un select.
Responder
Gardenia
18 de Septiembre del 2006
estrellaestrellaestrellaestrellaestrella
Hola, quisiera saber como haga para que el id de un cliente se me genere automaticamente en sql server, por ejemplo

Nombre


Pablo Perez

id: PP00001

que el procedimiento me genere el id, esta con catenado con letras el nombre y el apellido
Responder
hector
17 de Febrero del 2008
estrellaestrellaestrellaestrellaestrella
Como ejemplo de desarrollo de un cursor, el ejemplo es válido; pero con todo el respeto, con un select sencillo se puede desarrollar esta consulta.
Responder

Comentar la versión: Versión 1

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios

http://lwp-l.com/s116