Marzo 8th, 2008 by kenavik
Os dejo una query muy útil que con una simple consulta de SQL nos devuelva un XML.
select [ID] from [NOMBRE DE LA TABLA] for XML auto
Hace un par de años me hubiera ahorrado unas cuantas líneas de código al generar con ASP archivos XML’s para su posterior lectura desde una aplicación FLASH..
Posted in SQL SERVER | No Comments »
Junio 5th, 2007 by kenavik
El otro día tuvimos que hacer una INNER JOIN contra otro servidor SQL y mi buen amigo Carlos nos paso esta fantástica QUERY.
SELECT tblClientes.Nombre, tblClientedetalle.*
FROM tblClientes RIGHT OUTER JOIN
OPENROWSET(’SQLOLEDB’, ‘IP SERVER’; ‘usuario’; ‘nombre base de datos’, ’select * from user.dbo.tblVisitasClientes’) tblClientedetalle ON tblClientes.IdCliente = tblClientedetalle.idCliente
ORDER BY tblClientedetalle.idCliente
La QUERY esta probada y funciona correctamente.
Posted in SQL SERVER | No Comments »
Noviembre 30th, 2006 by kenavik
Para seleccionar una fila aleatoriamente de una tabla podemos usar la query:
select top 1 * from tabla order by newid()
De esta manera obtendremos un registro aleatorio cada vez que ejecutemos la query.
Posted in SQL SERVER | 2 Comments »
Noviembre 30th, 2006 by kenavik
Con una utilidad del Enterprise Manager del SQL Server podemos reducir el tamaño de una Base de Datos.
Cuando el tamaño físico de nuestra base de datos es superior al tamaño real de datos, es decir, cuando el volumen de datos ocupa 10 MB y la base de datos esta ocupando 100 MB es debido a que las modificaciones que realizamos en la base de datos.
Cuando borramos un registro o otros objetos de la base de datos no se libera el espacio físico del disco y por ello no se reduce la base de datos.
Para reducir la base de datos:
- Ejecutar el Enterprise Manager
- Colocarnos encima de la base de datos a reducir
- Seleccionar la base de datos y apretar botón derecho del ratón y seleccionar la opción “todas las tareas” y “Shrink Database”.
- En el cuadro que aparece seleccionar “Move pages to beginning of file before shrinking”
- Pulsar Ok
Ya hemos reducido el tamaño de la base de datos.
Posted in SQL SERVER | No Comments »
Noviembre 30th, 2006 by kenavik
Para encontar servidores disponibles en nuestra red ejecutar la siguiente consulta:
EXEC master..XP_CMDShell ‘OSQL -L’
Se listara todos los servidores encontrados de SQL Server de nuestra red.
Podemos crear un stored para devolver los servidores:
CREATE PROCEDURE dbo.ListLocalServers
AS
BEGIN
SET NOCOUNT ON
CREATE TABLE #servers(sname VARCHAR(255))
INSERT #servers EXEC master..XP_CMDShell 'OSQL -L'
-- play with ISQL -L too, results differ slightly
DELETE #servers WHERE sname='Servers:'
SELECT LTRIM(sname) FROM #servers WHERE sname != 'NULL'
DROP TABLE #servers
END
Posted in SQL SERVER | 1 Comment »
Septiembre 9th, 2006 by kenavik
Para duplicar/copiar registros de una tabla. Os dejo una query muy útil para estos casos.
INSERT INTO tbl1 SELECT * FROM tbl2 WHERE nombre = ‘xxxx’
Esta sentencia hace un insert de la tabla especificada a partir de los registros que nos devuelve el SELECT.
Posted in SQL SERVER | 1 Comment »