EliasJRodriguez

ConversionBSD2021+Dev+Banco+2709

Sep 28th, 2021 (edited)
230
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
T-SQL 6.39 KB | None | 0 0
  1. DECLARE @FieldName sysname,
  2.         @TableName sysname;
  3. DECLARE MCursorCA CURSOR FOR
  4.                             SELECT
  5.                                 t.TABLE_NAME, c.COLUMN_NAME
  6.                             FROM
  7.                                 information_schema.TABLES t
  8.                             INNER JOIN
  9.                                 information_schema.COLUMNS c ON t.TABLE_NAME = c.TABLE_NAME
  10.                             WHERE
  11.                                 c.DATA_TYPE = 'decimal' AND
  12.                                 ((t.TABLE_NAME LIKE 'sa%') or (t.TABLE_NAME like 'sb%')) and
  13.                                 c.column_name NOT IN (
  14.                                     'Existen', 'ExistenCon', 'ExInicial', 'ExistAnt', 'ExFinal', 'ExUnidadCon',
  15.                                     'ExistAnt2', 'ExistAntU', 'ExistAntU2', 'ExUndFinal', 'ExUndIni', 'ExUnidad',
  16.                                     'Maximo', 'Minimo', 'Pedido', 'Faltante',
  17.                                     'MontoMEx', 'SaldoMEx',
  18.                                     'UnidCom', 'UnidPed', 'Unidad', 'unidserv',
  19.                                     'CntCargos', 'CntCompra',
  20.                                     'CntDescarg', 'CntInicial',
  21.                                     'CntVentas', 'CntTraslad',
  22.                                     'Cant', 'CantCom', 'CantEmpaq', 'cantidad', 'Cantidad_O', 'CantidadA', 'CantidadC', 'CantidadO',
  23.                                     'CantidadU', 'CantidadUA', 'CantMayor', 'CantPed', 'cantusada',
  24.                                     'PrecioI1', 'PrecioI2', 'PrecioI3',
  25.                                     'Nro_Compras', 'Nro_Devoluciones', 'Nro_N_Creditos', 'Nro_N_Debitos', 'Nro_Pagos', 'Nro_Ventas',
  26.                                     'NroColonias', 'NroComp', 'NroComps', 'NroCtrl', 'NroCtrol', 'NroCuenta', 'NroCxB','NroDcto', 'NroDcts',
  27.                                     'NroDevol', 'NroEgreso', 'NroEstable', 'NroFacts', 'NroFinal', 'NroIDOP', 'NroILB', 'NroInicio',  
  28.                                     'NroLinea', 'NroLineaC', 'NroLote', 'NroNCredito', 'NroNDebito', 'NroOPago', 'NroOper', 'NroPagos',
  29.                                     'NroPpal', 'NroRegi', 'NroRpt', 'NroSerial', 'NroUCxP', 'NroUnico', 'NroUnicoL', 'NroURecP', 'NroURetP', 'NroUTrnB',
  30.                                     'Tara', 'Peso', 'Volumen',
  31.                                     'porc1', 'porc2',
  32.                                     'porc3', 'Porcent', 'PorcReten', 'PorctReten', 'PorctUtil',
  33.                                     'PDB', 'FData',
  34.                                     'PrxCheque',
  35.                                     'PDebBan',
  36.                                     'PBD',
  37.                                     'MontoBT',
  38.                                     'BaseIT',
  39.                                     'ComiT',
  40.                                     'PDebBan',
  41.                                     'ImpT',
  42.                                     'BaseTr',
  43.                                     'ValorPtos', 'ValorPtosV','SaldoPtos',
  44.                                     'Desde', 'Hasta',
  45.                                     'Costo_DV', 'Gasto_DV', 'Precio_DV')
  46.                                     AND t.table_type = 'BASE TABLE'
  47.                                     AND charindex('_', t.TABLE_NAME) = 0    AND
  48.                                     NOT t.TABLE_NAME LIKE 'SACVEN' AND
  49.                                     NOT t.TABLE_NAME LIKE 'SARGOCAT' AND
  50.                                     NOT t.TABLE_NAME LIKE 'SAPRIMCOM' AND
  51.                                     NOT t.TABLE_NAME LIKE 'SAPRIM' AND
  52.                                     NOT t.TABLE_NAME LIKE 'SATABL' AND
  53.                                     NOT t.TABLE_NAME LIKE 'SAFIEL' AND
  54.                                     NOT t.TABLE_NAME LIKE 'SACLICNV' AND
  55.                                     NOT t.TABLE_NAME LIKE 'SAGRUPOS' AND
  56.                                     NOT t.TABLE_NAME LIKE 'SAAOPER' AND
  57.                                     NOT t.TABLE_NAME LIKE 'SACAMPOS' AND
  58.                                     NOT t.TABLE_NAME LIKE 'SACMEC' AND
  59.                                     NOT t.TABLE_NAME LIKE 'SAMECA' AND
  60.                                     NOT t.TABLE_NAME LIKE 'SACOLLERSIS' AND
  61.                                     NOT t.TABLE_NAME LIKE 'SASNNOTIF' AND
  62.                                     NOT t.TABLE_NAME LIKE 'SBRptD' AND
  63.                                     NOT t.TABLE_NAME LIKE 'SBOpFr' AND
  64.                                     NOT t.TABLE_NAME LIKE 'SBCONF' AND
  65.                                     NOT ((c.COLUMN_NAME LIKE 'Desde') AND (t.TABLE_NAME='SAITCV')) AND
  66.                                     NOT ((c.COLUMN_NAME LIKE 'Compro') AND (t.TABLE_NAME='SAPROD')) AND
  67.                                     NOT ((c.COLUMN_NAME LIKE 'Hasta') AND (t.TABLE_NAME='SAITCV')) AND
  68.                                     NOT ((c.COLUMN_NAME LIKE 'Monto') AND (t.TABLE_NAME='SAITCV')) AND
  69.                                     NOT ((c.COLUMN_NAME LIKE 'Descto') AND (t.TABLE_NAME='SAINSTA')) AND
  70.                                     NOT ((c.COLUMN_NAME LIKE 'Descto') AND (t.TABLE_NAME='SACLIE')) AND
  71.                                     NOT ((c.COLUMN_NAME LIKE 'Monto') AND (t.TABLE_NAME='SARGOTJT')) AND
  72.                                     NOT ((c.COLUMN_NAME LIKE 'Monto') AND (t.TABLE_NAME='SATAXPRD')) AND
  73.                                     NOT ((c.COLUMN_NAME LIKE 'Monto') AND (t.TABLE_NAME='SATAXSRV')) AND
  74.                                     NOT ((c.COLUMN_NAME LIKE 'MtoTax') AND (t.TABLE_NAME='SATAXITF')) AND
  75.                                     NOT ((c.COLUMN_NAME LIKE 'MtoTax') AND (t.TABLE_NAME='SATAXITC')) AND
  76.                                     NOT ((c.COLUMN_NAME LIKE 'MtoTax') AND (t.TABLE_NAME='SATAXVTA')) AND
  77.                                     NOT ((c.COLUMN_NAME LIKE 'MtoTax') AND (t.TABLE_NAME='SATAXCXC')) AND
  78.                                     NOT ((c.COLUMN_NAME LIKE 'MtoTax') AND (t.TABLE_NAME='SATAXCOM')) AND
  79.                                     NOT ((c.COLUMN_NAME LIKE 'MtoTax') AND (t.TABLE_NAME='SATAXCXP')) AND
  80.                                     NOT ((c.COLUMN_NAME LIKE 'MtoTax') AND (t.TABLE_NAME='SATAXES')) AND
  81.                                     NOT ((c.COLUMN_NAME LIKE 'Impuesto') AND (t.TABLE_NAME='SATARJ'))  
  82.                             ORDER BY
  83.                                  t.TABLE_NAME, c.COLUMN_NAME
  84. OPEN MCursorCA;
  85. FETCH NEXT FROM MCursorCA
  86. INTO @TableName,
  87.      @FieldName;
  88. WHILE @@FETCH_STATUS = 0
  89. BEGIN
  90.     EXEC ('UPDATE ' + @TableName + ' SET ' + @FieldName + '=ISNULL(ROUND(' + @FieldName + '/1000000,3),0.0)');
  91.     PRINT ('UPDATE ' + @TableName + ' SET ' + @FieldName + '=ISNULL(ROUND(' + @FieldName + '/1000000,3),0.0)');
  92.     FETCH NEXT FROM MCursorCA
  93.     INTO @TableName,
  94.          @FieldName;
  95. END;
  96. CLOSE MCursorCA;
  97. DEALLOCATE MCursorCA;
  98. /*
  99. SELECT  t.TABLE_NAME,
  100.         ('update ' + t.TABLE_NAME + ' set ' + c.COLUMN_NAME + ' = round(convert(decimal, isnull(' + c.COLUMN_NAME + ', 0.00)) / 1000000, 2)') AS Conversion
  101.         ,c.column_name
  102.         FROM information_schema.TABLES t INNER JOIN
  103.         information_schema.COLUMNS c ON t.TABLE_NAME = c.TABLE_NAME
  104.         WHERE
  105.         c.DATA_TYPE = 'decimal' AND t.TABLE_TYPE = 'BASE TABLE'
  106.         */
Add Comment
Please, Sign In to add comment