Archivos de Categoría: SQL Server - Paginas 3

Clonar tablas en SQL Server y MySQL

Es habitual que cuando vamos a hacer algún proceso un poco peliagudo sobre una tabla, nos hagamos una copia de seguridad por lo que pueda pasar. Por suerte hay formas bastantes sencillas de hacerlo.

En SQL Server sería así:


select * into tabla_clonada from tabla_origen

y en MySQL asi:


create table tabla_clonada select * from tabla_origen

logicamente si ponemos en vez del asterisco los campos que queremos, nos los crea con esos campos

Variable tipo table en un procedimiento llamado desde PHP

En el proyecto que estoy montando actualmente, por requisitos del cliente, estamos usando PHP contra SQL server. La historia es que lleva algún procedimiento medio enrevesado y uno de ellos devuelve el recorset de una variable tipo tabla.

Hasta ahora, al llamar procedimientos que devuelven resultados de tablas sí que devolvían registros pero al intentarlo de una variable tipo tabla, no devolvía nada mientras que ejecutándolo desde el cliente de SQL sí que lo hacía.

Después de un rato googleando, resulta que la solución es bastante sencilla, basta con poner un SET NOCOUNT ON al principio del procedimiento. Es una chorrada pero hace perder un rato precioso hasta que te das cuenta.

Error al guardar los cambios de una tabla

Usando el cliente de SQL server en sus últimas versiones, al intentar modificar el diseño de una tabla nos puede salir un error del tipo «No se pueden guardar los cambio, toca borrar la tabla y volver a crearla». Esto si estamos en un entorno de producción es lo ideal para que no pasen «accidentes» pero para un entorno de desarrollo da bastante la lata.
Las alternativas que tenemos es hacerlo a manita con la sentencia ALTER TABLE, que si es muy guay pero bastante coñazo. Lo mejor es activar la opción de guardar los cambios (copiado de http://support.microsoft.com/kb/956176):

  1. Abra SQL Server Management Studio (SSMS).
  2. En el menú Herramientas, haga clic en Opciones.
  3. En el panel de navegación de la ventana de Opciones, haga clic en diseñadores.
  4. Active o desactive la casilla de verificación impedir guardar cambios que requieran volver a crear la tablas y, a continuación, haga clic en Aceptar