Inserte la fila de SQL Server en una posición específica en la tabla formateada
-
21-12-2019 - |
Pregunta
Soy nuevo en la creación de bases de datos y actualmente intento lograr algo que es realmente necesario para mí.
Digamos que tengo una base de datos "Cliente" con 300 filas, todas con un identificador único llamado Id_
.
Id_ | Customer | Postal | Country |
200 | Mica Sa. | 99582 | USA
201 | Shum Jr. | 10258 | USA
202 | Carl Ro. | 45697 | USA
203 | Brad Mi. | 24761 | USA
Si elimino una fila número 202 usando:
DELETE FROM Customer
WHERE Id_ = 202;
Yo obtengo:
Id_ | Customer | Postal | Country |
200 | Mica Sa. | 99582 | USA
201 | Shum Jr. | 10258 | USA
203 | Brad Mi. | 24761 | USA
Pero cuando intento insertar una fila usando:
INSERT INTO Customer (Id_, Customer, Postal, Country)
VALUES (202, 'Peter R.', 08574, 'USA');
La fila se inserta aleatoriamente en la base de datos, por lo que mi pregunta es ¿cómo inserto esta fila exactamente después? 201(Id_)
y antes 203(Id_)
?
Solución
para ayudarlo a borrar algunas cosas:
-
El campo ID de ID parece ser un identificador INT y no único
Las declaraciones de inserción
- no se hacen al azar en el DB, van al último registro.E.G Si tiene 201,203 y usted inserta 202, irá después de 203.
- La forma en que selecciona los registros (y por lo tanto, se obtiene y mostró) es otra cosa.Puede ejecutar una consulta que devuelva 202 antes de 203, pero esto no significa que esta sea la forma en que se almacenan en el DB
-
Si ID es en realidad de tipo INT, vuelvo a hacerlos automáticos incrementales
Seleccionar * desde el pedido del cliente por ID_ DESC
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow