Please start any new threads on our new
site at https://forums.sqlteam.com. We've got lots of great SQL Server
experts to answer whatever question you can come up with.
| Author |
Topic |
|
rajasekhar857
Constraint Violating Yak Guru
396 Posts |
Posted - 2009-07-07 : 07:00:21
|
hi help me in giving mssql query into oracle with comfortable.UPDATE EMRAppointmentDetailsSET TP_PKG_ID = b.TP_PKG_IDFROM EMRAppointmentDetails a, (SELECT EAH.TP_PKG_ID, EA.APPOINTMENT_ID FROM EMRAppointmentDetails EA INNER JOIN EMRAppointmentDetailsHistory EAH ON EA.APPOINTMENT_ID =EAH.APPOINTMENT_ID WHERE EA.aPPOINTMENT_STATUS_ID =3 AND EAH.aPPOINTMENT_STATUS_ID = 8 AND EAH.TP_PKG_ID IS NOT NULL AND EA.TP_PKG_ID IS NULL AND EA.HEALTH_PKG_ID IS NOT NULL ) bWHERE b.APPOINTMENT_ID = a.APPOINTMENT_IDGO |
|
|
jcelko
Esteemed SQL Purist
547 Posts |
Posted - 2009-07-07 : 23:12:49
|
| Since the data element name APPOINTMENT_STATUS_ID is absurd, I assume you meant apointment_status. Since identifiers cannot be NULL, why are you checking that. The proprietary UPDATE with query is non-deterministic, and needless now that DB2, Oracle, SQL Server and other SQLs have MERGE:MERGE INTO EMRAppointmentDetailsUSING (SELECT EAH.tp_pkg_id, EA.appointment_id FROM EMRAppointmentDetailsHistory AS EAH WHERE EAH.appointment_status = 8 AND EAH.tp_pkg_id IS NOT NULL) AS H1 ON EA.appointment_status = 3 AND EA.health_pkg_id IS NOT NULL AND EA.tp_pkg_id IS NULL AND EA.appointment_id = EAH.appointment_idWHEN MATCHED THEN UPDATE SET EMRAppointmentDetails.tp_pkg_id = H1.tp_pkg_id;--CELKO--Joe Celko, SQL Guru |
 |
|
|
visakh16
Very Important crosS Applying yaK Herder
52326 Posts |
Posted - 2009-07-08 : 12:22:42
|
quote: Originally posted by jcelko Since the data element name APPOINTMENT_STATUS_ID is absurd, I assume you meant apointment_status. Since identifiers cannot be NULL, why are you checking that. The proprietary UPDATE with query is non-deterministic, and needless now that DB2, Oracle, SQL Server and other SQLs have MERGE:MERGE INTO EMRAppointmentDetailsUSING (SELECT EAH.tp_pkg_id, EA.appointment_id FROM EMRAppointmentDetailsHistory AS EAH WHERE EAH.appointment_status = 8 AND EAH.tp_pkg_id IS NOT NULL) AS H1 ON EA.appointment_status = 3 AND EA.health_pkg_id IS NOT NULL AND EA.tp_pkg_id IS NULL AND EA.appointment_id = EAH.appointment_idWHEN MATCHED THEN UPDATE SET EMRAppointmentDetails.tp_pkg_id = H1.tp_pkg_id;--CELKO--Joe Celko, SQL Guru
MERGE is available in SQL Server only from SQL 2008 onwards with compatibility level 100 |
 |
|
|
|
|
|
|
|