Je personnalise l'insertion SQL générée par hibernate et j'ai rencontré un problème. Lorsque Hibernate génère la requête par lui-même, il insère des données dans les deux premières colonnes de la table, mais cela entraîne une erreur de base de données puisque les quatre colonnes de la table ne sont pas nullables. Pour que l'insertion soit effectuée correctement, elle doit insérer les mêmes données dans deux colonnes du nouvel enregistrement. Cela signifie que j'ai besoin d'Hibernate pour lier les mêmes données à deux paramètres différents dans la requête (instruction préparée) que j'écris.Réutilisation d'un paramètre anonyme dans une instruction préparée
Y a-t-il une syntaxe SQL qui me permet de faire référence à des paramètres anonymes liés à une instruction préparée dans un ordre différent de celui auquel ils sont liés?
Détails
REF_USER_PAGE_XREF
----------------------------------------
PK FK1 | NETWORK_ID | VARCHAR2(100)
PK FK1 | PAGE_PATH | VARCHAR2(1000)
| USER_LAST_UPDT | VARCHAR2(100)
| TMSP_LAST_UPDT | DATE
insert into
REF_USER_PAGE_XREF(
NETWORK_ID,
PAGE_PATH,
TMSP_LAST_UPDT,
USER_LAST_UPDT)
values (
?, /* want to insert the same data here */
?,
?, /* and here */
(select
to_char(sysdate, 'DD-MON-YY')
from
dual)
Je veux insérer les mêmes données dans les premier et troisième paramètres anonymes.
Réponse final (fonction de la réponse de @mdma)
insert into
REF_USER_PAGE_XREF(
NETWORK_ID,
PAGE_PATH,
USER_LAST_UPDT,
TMSP_LAST_UPDT)
select
Param1,
Param2,
Param1,
(select
to_char(sysdate, 'DD-MON-YY')
from
dual)
from
(select
? as Param1,
? as Param2
from
dual) params
Exactement ce que je cherchais. Merci beaucoup. –