SQL – Precio mínimo de los comparativos

Función SQL para obtener el precio mínimo de las ofertas de proveedores de los comparativos: CREATE FUNCTION F_COMPA_PRECIO_MIN(@EMPRESA VARCHAR(12),@OBRA VARCHAR(12),@COD_INTERNO VARCHAR(8)) RETURNS DECIMAL(18,4) AS BEGIN    DECLARE @PRECIO_MIN DECIMAL(18,4);    SET @PRECIO_MIN=(SELECT MIN(CP.PRECIO) PRECIO_MIN FROM T_COMPA_LIN L JOIN T_COMPA_PRE CP ON CP.EMPRESA=L.EMPRESA AND CP.OBRA=L.OBRA AND CP.COMPA=L.COMPA ANDCP.LINEA=L.LINEA WHERE L.EMPRESA=@EMPRESA AND L.OBRA=@OBRA AND  L.COD_INTERNO=@COD_INTERNO AND CP.PRECIO>0 );    RETURN @PRECIO_MIN END 

C# – Uso de HttpClient para devolver un DataTable

Si usamos una API-REST que nos devuelve un Datatable, es necesario deserializar el JSON obtenido. El siguiente ejemplo nos muestra como hacerlo: using System; using System.Data; using System.Net.Http; using System.Threading.Tasks; using Newtonsoft.Json; // You’ll need to install the Newtonsoft.Json NuGet package class Program { static async Task Main() { // Create an instance of HttpClient Leer másC# – Uso de HttpClient para devolver un DataTable[…]

TREE-Trigger para firma de facturas escaladas por importe

En ocasiones los clientes quieren que la firma de las facturas dependan del importe. En el siguiente ejemplo aplicamos un sencillo trigger para que las facturas de más de 3000€ las tenga que firmar dirección (perfil DIR), las de más de 1500€ las tenga que firmar el jefe de grupo (perfil DJO), y el resto Leer másTREE-Trigger para firma de facturas escaladas por importe[…]

SQL – Dividir una línea de texto en dos, haciendo coincidir la división con un espacio entre palabras

A veces puede ser necesario que queramos hacer una sentencia SQL que nos devuelva una línea dividida en dos cuando el texto excede una determinada longitud (y que la segunda línea esté en blanco cuando el texto simplemente es más corto de dicha longitud). Por ejemplo, en un informe queremos imprimir el nombre de una Leer másSQL – Dividir una línea de texto en dos, haciendo coincidir la división con un espacio entre palabras[…]

SQL – Velocidad de TREE y de SQL Server en remoto

Tree permite conexiones remotas a través de VPN sin necesidad de usar servicios de escritorio remoto (que suponen un coste y requieren normalmente un servidor adicional o robarle recursos al principal). La velocidad remota por VPN depende de varios factores: La complejidad de las consultas SQL La velocidad del servidor SQL La velocidad de la Leer másSQL – Velocidad de TREE y de SQL Server en remoto[…]

SQL – Rehacer indices de todas las tablas

Hace poco me encontré una base de datos Sql Server con comportamientos extraños. Las sentencias SELECT no encontraban los registros recien insertados, aparecían claves primarias duplicadas,… cosas rarísimas que no había visto nunca. El problema surgió tras restaurar un servidor que fue reiniciado a mano por el cliente «…porque tardaba mucho y entonces lo desenchufé… Leer másSQL – Rehacer indices de todas las tablas[…]

Al borrar una factura en a3ERP que se marque en TREE como pendiente de exportar

Cuando pasamos facturas de TREE a a3ERP las facturas quedan marcadas como exportadas. Si queremos que al borrar la factura en a3ERP en TREE vuelva a quedar como pendiente de exportar, tan solo tenemos que generar los siguientes TRIGGER en las bases de datos de a3ERP:   –COMPRAS  CREATE TRIGGER BorrarFraCA3 ON CABEFACC  AFTER DELETE  AS Leer másAl borrar una factura en a3ERP que se marque en TREE como pendiente de exportar[…]

SQL: Query a tabla HTML

A veces puede ser interesante montar una tabla HTML con un simple QUERY. Con el siguiente procedimiento almacenado podemos hacerlo: Obtenido de: https://stackoverflow.com/questions/7070053/convert-a-sql-query-result-table-to-an-html-table-for-email — ============================================= CREATE PROC [dbo].[spQueryToHtmlTable]  (   @query nvarchar(MAX), –A query to turn into HTML format. It should not include an ORDER BY clause.   @orderBy nvarchar(MAX) = NULL, –An optional ORDER Leer másSQL: Query a tabla HTML[…]

Publicada en SQL