SQL - Query

   
Vista:

Query

Publicado por alberto (5 intervenciones) el 23/11/2015 15:54:35
Hola chicos

Una consulta

Cual es el valor que me devuelve un Query

Por ejemplo este procedimiento, cual vendria a ser el valor que me devuelve?.


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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
CREATE PROCEDURE [dbo].[p_carga_cotizarf_mil] @p_fec VARCHAR(10) AS
BEGIN
 
 DECLARE @fecpro AS DATETIME
 DECLARE @dd AS VARCHAR(2)
 DECLARE @mm AS VARCHAR(2)
 DECLARE @aa AS VARCHAR(4)
 DECLARE @archivo AS VARCHAR(100)
 
 SET @fecpro = CONVERT(DATETIME, @p_fec, 103)
 SET @dd = SUBSTRING(@p_fec, 1, 2)
 SET @mm = SUBSTRING(@p_fec, 4, 2)
 SET @aa = SUBSTRING(@p_fec, 7, 4)
 
 SET @archivo = dbo.f_descripcion_tabla('FIL', 'MCH_RF', 'D') + dbo.f_descripcion_tabla('FIL', 'MCH_RF', 'A')
 SET @archivo = REPLACE(REPLACE(REPLACE(@archivo, 'dd', @dd), 'mm', @mm), 'aaaa', @aa)
 SET @archivo = REPLACE(REPLACE(@archivo, 'MONTH', @mm), 'YEAR', @aa)
 
 DELETE FROM con_temp_millennium
 
 DECLARE @strSQL AS VARCHAR(5000)
 
 SET @strSQL = 'BULK INSERT con_temp_millennium'
 SET @strSQL = @strSQL + ' FROM ' + CHAR(39) + @archivo + CHAR(39)
 SET @strSQL = @strSQL + ' WITH ( ROWTERMINATOR = '+ CHAR(39) + CHAR(10) + CHAR(39) + ' ) '
 
 EXEC(@strSQL)
 
 DECLARE @fecha AS VARCHAR(10)
 DECLARE @codigo_valor AS VARCHAR(260)
 DECLARE @v_ultima AS VARCHAR(22)
 DECLARE @v_rendimiento AS VARCHAR(22)
 DECLARE @v_maximo AS VARCHAR(22)
 DECLARE @v_minimo AS VARCHAR(22)
 DECLARE @v_total AS VARCHAR(18)
 
 DECLARE @fecha_cotizacion AS DATETIME
 DECLARE @ultima AS NUMERIC(22,10)
 DECLARE @rendimiento AS NUMERIC(22,10)
 DECLARE @maximo AS NUMERIC(22,10)
 DECLARE @minimo AS NUMERIC(22,10)
 DECLARE @total AS NUMERIC(18,2)
 
 DECLARE @existe_valor AS INT
 DECLARE @ErrorNumber AS INT
 
 DECLARE c_cot CURSOR LOCAL FAST_FORWARD READ_ONLY FOR
  SELECT LTRIM(RTRIM(SUBSTRING(linea, 20, 10))) AS fecha_rueda,
         LTRIM(RTRIM(SUBSTRING(linea, 125, 26))) AS codigo_valor,
         LTRIM(RTRIM(SUBSTRING(linea, 240, 22))) AS ultima,
         LTRIM(RTRIM(SUBSTRING(linea, 321, 22))) AS rendimiento,
         LTRIM(RTRIM(SUBSTRING(linea, 776, 22))) AS maximo,
         LTRIM(RTRIM(SUBSTRING(linea, 798, 22))) AS minimo,
         LTRIM(RTRIM(SUBSTRING(linea, 918, 18))) AS mto_efectivo_pen
    FROM con_temp_millennium
   WHERE linea != ''
 
 OPEN c_cot
 FETCH NEXT FROM c_cot INTO @fecha, @codigo_valor, @v_ultima, @v_rendimiento, @v_maximo, @v_minimo, @v_total
 WHILE @@fetch_status = 0
 BEGIN
 
  SET @codigo_valor = LTRIM(RTRIM(@codigo_valor))
  SET @fecha_cotizacion = CONVERT(DATETIME, LTRIM(RTRIM(@fecha)), 105)
 
  IF @v_ultima IN ('', '0000000000000000000000')
   SET @ultima = 0
  ELSE
   SET @ultima = CONVERT(NUMERIC(38,10), ISNULL(@v_ultima, 0)) / 10000000000
 
  IF @v_rendimiento IN ('', '0000000000000000000000')
   SET @rendimiento = 0
  ELSE
   SET @rendimiento = CONVERT(NUMERIC(38,10), ISNULL(@v_rendimiento, 0)) / 10000000000
 
   IF @v_maximo IN ('', '0000000000000000000000')
   SET @maximo = 0
  ELSE
   SET @maximo = CONVERT(NUMERIC(38,10), ISNULL(@v_maximo, 0)) / 10000000000
 
  IF @v_minimo IN ('', '0000000000000000000000')
   SET @minimo = 0
  ELSE
   SET @minimo = CONVERT(NUMERIC(38,10), ISNULL(@v_minimo, 0)) / 10000000000
 
  IF @v_total IN ('', '000000000000000000')
   SET @total = 0
  ELSE
   SET @total = CONVERT(NUMERIC(38,2), ISNULL(@v_total, 0)) / 100
 
IF @ultima <> 0
BEGIN
  SET @existe_valor = 0
 
  SELECT @existe_valor = 1 FROM con_t_valor WHERE codigo_valor = @codigo_valor
 
--Inserta Valor de no Existir
  IF @existe_valor = 0
   BEGIN
    INSERT INTO con_t_valor ( codigo_valor, tipo_renta, fecha_cotiza, ultima_cotiza,
                              estado_valor, mecanismo, valor_inscrito, fecha_inscrito )
                     VALUES ( @codigo_valor, 'RF', @fecpro, @ultima,
                              'A', 'S', 'N', @fecpro )
   END
  ELSE
   BEGIN
    IF @fecpro = @fecha_cotizacion
     BEGIN
      UPDATE con_t_valor
         SET fecha_cotiza = @fecha_cotizacion,
             ultima_cotiza = @ultima
       WHERE codigo_valor = @codigo_valor
     END
   END
 
  SELECT @ErrorNumber = 0
 
  BEGIN TRY
   INSERT INTO con_t_cotizacion ( codigo_valor, fecha_cotizacion, ultima_cotizacion, tir_cotizacion,
                                  precio_maximo, precio_minimo, monto_negociado,
                                  ultima_exterior, monto_exterior )
                         VALUES ( @codigo_valor, @fecha_cotizacion, @ultima, @rendimiento,
                                  @maximo, @minimo, @total,
                                  0, 0 )
  END TRY
 
  BEGIN CATCH
   SELECT @ErrorNumber = ERROR_NUMBER()
  END CATCH
 
  IF @ErrorNumber = 2627
   BEGIN
    UPDATE con_t_cotizacion
       SET ultima_cotizacion = @ultima,
           tir_cotizacion = @rendimiento,
           precio_maximo = @maximo,
           precio_minimo = @minimo,
           monto_negociado = @total
     WHERE codigo_valor = @codigo_valor
       AND fecha_cotizacion = @fecha_cotizacion
   END
 
  SET @fecha = NULL
  SET @codigo_valor = ''
  SET @v_ultima = 0
  SET @v_maximo = 0
  SET @v_minimo = 0
  SET @v_total = 0
  SET @v_rendimiento = 0
  SET @rendimiento = 0
  SET @ultima = 0
  SET @maximo = 0
  SET @minimo = 0
  SET @total = 0
 
END
 
 FETCH NEXT FROM c_cot INTO @fecha, @codigo_valor, @v_ultima, @v_rendimiento, @v_maximo, @v_minimo, @v_total
 
 END
 CLOSE c_cot
 DEALLOCATE c_cot
 
END


Gracias.
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

Query

Publicado por Isaias (690 intervenciones) el 23/11/2015 16:39:15
Ningun valor, aunque me parece muy vaga tu pregunta.
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