martes, 21 de mayo de 2013
Clonar registros de una tabla en SQLSERVER sin que nos de errores de primary key
Supongamos que partimos de una tabla etiqueta con la estructura de campos: impresora, etiqueta, descripcion, programa, flag, etiqAlAncho, EtiqAlAlto. Lo que representan los campos no tienen mucha importancia ahora mismo.
En dicha tabla tenemos definida una clave para el par impresora, etiqueta. Por tanto si clonamos el registro correspondiente al valor de etiqueta = 22 (por ejemplo suponiendo que exista). El clonado nos lanzará un error de Primary Key) ya que tendremos dos registros con la misma clave. Por tanto para ello utilizamos la sentencia: "insert into Tabla Select ... From .." juntos con la subconsulta "SELECT MAX(ETIQUETA) + 1 FROM ETIQUETAS WHERE IMPRESORA = 2)" con ello conseguimos clonar el registro asignando un valor nuevo a "etiqueta" (el siguiente consecutivo) evitando errores de primray Key. Aquí dejo la sentencia completa:
INSERT INTO ETIQUETAS (IMPRESORA, ETIQUETA, DESCRIPCION, PROGRAMA, FLAG, ETIQALANCHO, ETIQALALTO)
SELECT IMPRESORA, (SELECT MAX(ETIQUETA) + 1 FROM ETIQUETAS WHERE IMPRESORA = 2) ETIQUETA, '70X36 TERMINAL', PROGRAMA, FLAG, ETIQALANCHO, ETIQALALTO FROM ETIQUETAS
WHERE IMPRESORA = 2 AND ETIQUETA = 22
Suscribirse a:
Enviar comentarios (Atom)
Jesús Moreno - Ingeniero Ténico Informático - consultor Informático
Hola, soy Jesús Moreno Ingeniero Técnico Informático en sistemas por la US y propietario de éste blog. Mi trabajo en los ultimos años se ...
-
Ultima hora: Máxima difusión, aquí la sentencia del Tribunal Supremo sobre la Clausula Suelo . http://s01.s3c.es/imag/doc/ 2013-06-04/pg.4...
-
El ejemplo se ha probado en una base de datos Microsoft SQL Server 2008 R2 CREATE FUNCTION dbo . udf_GetNumeric (@ strAlphaNumeric VARCHA...
-
Al intentar compartir la impresora nos lanza un error que dice: " No se pudo guardar la configuración de la impresora. No hay no hay m...
No hay comentarios:
Publicar un comentario