Advertisement
Kimossab

SIBD - S13.2

May 11th, 2015
371
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 2.12 KB | None | 0 0
  1. /*2-1*/
  2. IF OBJECT_ID('spTotalFactura') IS NOT NULL
  3.     DROP PROC spTotalFactura
  4. GO
  5. CREATE PROC spTotalFactura
  6.     @Total      MONEY OUTPUT,
  7.     @DATA       DATE
  8. AS
  9. SELECT @Total = SUM(TotalFactura)
  10.     FROM Facturas
  11.     WHERE DataFactura >= @DATA
  12.  
  13. /*2-2*/
  14. DECLARE @TotalFac FLOAT
  15. EXEC spTotalFactura @TotalFac OUTPUT, '2006-01-01'
  16. PRINT 'Total das Facturas: ' + CONVERT(VARCHAR, @TotalFac)
  17.  
  18. /*2-3*/
  19. IF OBJECT_ID('spFaturasEmDividaPorIDFornecedor') IS NOT NULL
  20.     DROP PROC spFaturasEmDividaPorIDFornecedor
  21. GO
  22. CREATE PROC spFaturasEmDividaPorIDFornecedor
  23.     @ID             INT
  24. AS
  25.  
  26. DECLARE @tabela TABLE
  27. (
  28.     NomeFor     VARCHAR(100) ,
  29.     Num         VARCHAR(100) ,
  30.     DATA        DATE ,
  31.     TotalFacDiv FLOAT
  32. )
  33. INSERT @tabela
  34. SELECT  Nome, NúmeroFactura, DataFactura, TotalFactura
  35.     FROM Facturas JOIN Fornecedores
  36.         ON Fornecedor = IDFornecedor
  37.     WHERE IDFornecedor = @ID AND TotalFactura - Pagamento - Crédito > 0
  38. SELECT * FROM @tabela
  39.  
  40. /*2.4*/
  41. EXEC spFaturasEmDividaPorIDFornecedor 122
  42.  
  43. /*2.5*/
  44. IF OBJECT_ID('spAplicaIVA') IS NOT NULL
  45.     DROP PROC spAplicaIVA
  46. GO
  47. CREATE PROC spAplicaIVA
  48.     @Valor          MONEY,
  49.     @TaxaIVA        VARCHAR(8),
  50.     @ValorComIVA    MONEY OUTPUT,
  51.     @ValorDoIVA     FLOAT OUTPUT
  52. AS
  53. IF @TaxaIVA = 'Normal'
  54.     SET @ValorDoIVA = 0.23
  55. ELSE IF @TaxaIVA = 'Reduzida'
  56.     SET @ValorDoIVA = 0.06
  57. SET @ValorComIVA = @Valor + @Valor * @ValorDoIVA
  58.  
  59. /*2.6*/
  60. DECLARE @ValorD MONEY = 1000, @ValorCI MONEY, @IVA FLOAT
  61. EXEC spAplicaIVA @ValorD, 'Normal', @ValorCI OUTPUT, @IVA OUTPUT
  62. PRINT 'Valor:           ' + CONVERT(VARCHAR, @ValorD)
  63. PRINT 'Valor c/IVa:     ' + CONVERT(VARCHAR, @ValorCI)
  64. PRINT 'IVA:         ' + CONVERT(VARCHAR, @IVA*100) + '% [Normal]'
  65. PRINT ' '
  66. EXEC spAplicaIVA @ValorD, 'Reduzida', @ValorCI OUTPUT, @IVA OUTPUT
  67. PRINT 'Valor:           ' + CONVERT(VARCHAR, @ValorD)
  68. PRINT 'Valor c/IVa:     ' + CONVERT(VARCHAR, @ValorCI)
  69. PRINT 'IVA:         ' + CONVERT(VARCHAR, @IVA*100) + '% [Reduzida]'
  70.  
  71. /*2-7*/
  72. IF OBJECT_ID('spTopReg') IS NOT NULL
  73.     DROP PROC spTopReg
  74. GO
  75. CREATE PROC spTopReg
  76.     @Tabela VARCHAR(50),
  77.     @NRegs INT = 5
  78. AS
  79. DECLARE @SQL AS VARCHAR(150)
  80. SET @SQL = 'SELECT TOP ' +  CONVERT(VARCHAR, @NRegs) + ' * FROM ' + @Tabela
  81. EXEC (@SQL)
  82.  
  83. /*2-8*/
  84. EXEC spTopReg 'Projectos', 3
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement