Red de conocimiento informático - Conocimiento informático - Acabo de aprender Oracle y escribí un mensaje de actualización por lotes. Una subconsulta de una sola fila devuelve varias filas. Maestro, ¿puede ayudarme a cambiarlo?

Acabo de aprender Oracle y escribí un mensaje de actualización por lotes. Una subconsulta de una sola fila devuelve varias filas. Maestro, ¿puede ayudarme a cambiarlo?

La modificación del error de "La subconsulta de una sola fila devuelve varias filas" no es la sintaxis de la declaración SQL, sino los datos. "La subconsulta de una sola fila devuelve varias filas" significa que la fila de datos original que desea actualizar debería haberse actualizado con la única fila de datos en el resultado de la consulta, pero el resultado de la consulta devuelve varias filas de datos. En este momento, la base de datos no sabe qué fila de datos en el resultado de la consulta de varias filas debe usarse para actualizar sus datos originales. En este momento, la base de datos informará un error: una subconsulta de una sola fila devuelve varias filas.

Con base en los principios anteriores, la clave para resolver este problema es aclarar la relación de lógica de negocios entre los datos y garantizar que los resultados de la consulta se consulten de acuerdo con la clave principal, es decir, garantizar que la consulta Los resultados son la única fila de datos. En escenarios comerciales especiales, si necesita seleccionar cualquier fila de los resultados de varias filas para actualizar los datos originales, también puede agregar número de fila = 1 a la subconsulta. Es decir, puede seleccionar cualquier fila del conjunto de resultados de la consulta para actualizar. los datos originales.

Actualizar xs 0701x set x . SSXWZS =(seleccione un . SSXWZS de (seleccione xs 0701 _ LSB . SSXWZS, xs 0101 . xs 0101id de xs 0701 _ LSB, xs0101 donde xs