Don't like ads? PRO users don't see any ads ;-)
Guest

tp3 sql

By: a guest on Jun 14th, 2012  |  syntax: SQL  |  size: 1.75 KB  |  hits: 25  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. CREATE PROCEDURE SP_ClasificarSaldo
  2. @NROCUENTA INT = NULL
  3. AS
  4. BEGIN
  5. DECLARE @SALDO INT
  6.  
  7.         IF @NROCUENTA IS NULL
  8.         BEGIN
  9.                 RAISERROR('DEBES INDICAR UN NUMERO DE CUENTA.',10,1)
  10.                 RETURN
  11.         END
  12.         SET @SALDO = (SELECT SALDO FROM CUENTAS WHERE NRCUENTA = @NROCUENTA)
  13.         IF @SALDO IS NULL
  14.         BEGIN
  15.                 RAISERROR('LA CUENTA INGRESADA NO EXISTE.',10,1)
  16.                 RETURN
  17.         END
  18.         SELECT
  19.         CASE
  20.                 WHEN @SALDO < 10000 THEN 'SALDO BAJO.'
  21.                 WHEN @SALDO > 10000 AND @SALDO < 50000 THEN 'SALDO MEDIO'
  22.                 WHEN @SALDO > 50000 THEN 'SALDO ALTO'
  23.         END            
  24. END
  25.  
  26.  
  27. /********************5- LOCALIDAD DE LA CUENTA X *********************************************/
  28.  
  29.  
  30. CREATE PROCEDURE SP_G5_LOCALIDAD_CUENTA_X
  31. @NRCUENTA INT
  32. AS
  33.  
  34. IF NOT EXISTS(SELECT NRCUENTA FROM CUENTAS WHERE NRCUENTA=@NRCUENTA)
  35.         BEGIN
  36.         RAISERROR 5000 'LA CUENTA INDICADA ES INEXISTENTE'
  37.         RETURN 1
  38.         END
  39.  
  40. SELECT NRCUENTA, CIUDADES.CIUDAD, PROVINCIAS.PROVINCIA
  41. FROM CUENTAS
  42. INNER JOIN SUCURSALES
  43. ON NRSUC=NRSUC.SUCURSALES RIGHT JOIN CIUDADES
  44. ON CODCIUDAD.SUCURSALES=CODCIUDAD.CIUDADES LEFT JOIN PROVINCIAS
  45. ON CODPROV.CIUDADES=CODPROV.PROVINCIAS
  46. WHERE NRCUENTA=@NRCUENTA
  47.  
  48.  
  49.  
  50.  
  51. /***********7- ULTIMOS N MOVIMIENTOS DE UNA CUENTA X AGRUPADOS EN TIPO DE OPERACION ***********/
  52.  
  53. CREATE VIEW ULTMOVS
  54. @NMOV INT
  55. @NRCUENTA INT
  56. AS
  57.  
  58. IF NOT EXISTS(SELECT NRCUENTA FROM CUENTAS WHERE NRCUENTA=@NRCUENTA)
  59.         BEGIN
  60.         RAISERROR 5000 'LA CUENTA INDICADA ES INEXISTENTE'
  61.         RETURN 1
  62.         END
  63.  
  64. IF @NMOV<1
  65.         BEGIN
  66.         RAISERROR 5000 'DEBE INDICAR LOS N ULTIMOS MOVIMIENTOS CON UN VALOR ENTERO MAYOR A 0'
  67.         RETURN 1
  68.         END
  69.  
  70. /* VEAMOS SI ANDA.. */
  71. SELECT TOP(@NMOV) FECHA, NRMOV, MONTO, TIPOSOPERACIONES.TIPO FROM MOVIMIENTOS LEFT JOIN TIPOSOPERACIONES ON TIPOOP=TIPOSOPERACIONES.TIPOOP GROUP BY TIPOSOPERACIONES.TIPO  WHERE NRCUENTA=@NRCUENTA