| Author |
Topic |
|
rajasekhar857
Constraint Violating Yak Guru
396 Posts |
Posted - 2009-08-13 : 02:59:26
|
hi i have a trigger which needs to update on onlu two columns but it is updating urrespective of all columns please check for my condition and send me the modified ones.CREATE TRIGGER TR_Update_EMRAppointmentDetails ON dbo.EMRAppointmentDetails FOR UPDATE AS if not ((substring(columns_updated(),1,8) & 255) = substring(columns_updated(),1,8) and (substring(columns_updated(),2,3) | 0) = 4) BEGIN INSERT EMRAppointmentDetailsHistory SELECT APPOINTMENT_ID,PATIENT_ID,REFERED_BY,SPECIALTY_ID,REASON,CONSULTANT_ID, APPOINTMENT_TYPE_ID,APPOINTMENT_DATE,APPOINTMENT_TIME,FRONTDESK_COMMENTS, APPOINTMENT_STATUS_ID,CREATED_DATE,USER_LOGIN,VISIT_TYPE_ID,APPOINTMENT_LOCATION_ID, HEALTH_PKG_ID,DISP_APPOINTMENT_ID,SRV_ITEM_ID,FULFILLED_APPOINTMENT_ID, FULFILLED_LOCATION_ID,FULFILLED_LOCATION,IS_LAB_APMT,TP_PKG_ID,TP_ITEM_ID,LAB_TEST_ID, LAB_PROFILE_ID,LAST_UPDATED_DATE,LAST_UPDATED_USER,IS_TP_APPOINTMENT,BILL_NUMBER FROM Deleted ENDGO the two columns are APPOINTMENT_STATUS_ID and APPOINTMENT_DATE |
|
|
SwePeso
Patron Saint of Lost Yaks
30421 Posts |
Posted - 2009-08-13 : 03:03:17
|
[code]CREATE TRIGGER dbo.TR_Update_EMRAppointmentDetails ON dbo.EMRAppointmentDetails FOR UPDATE AS IF UPDATE(APPOINTMENT_STATUS_ID) OR UPDATE(APPOINTMENT_DATE) INSERT EMRAppointmentDetailsHistory SELECT APPOINTMENT_ID, PATIENT_ID, REFERED_BY, SPECIALTY_ID, REASON, CONSULTANT_ID, APPOINTMENT_TYPE_ID, APPOINTMENT_DATE, APPOINTMENT_TIME, FRONTDESK_COMMENTS, APPOINTMENT_STATUS_ID, CREATED_DATE, USER_LOGIN, VISIT_TYPE_ID, APPOINTMENT_LOCATION_ID, HEALTH_PKG_ID, DISP_APPOINTMENT_ID, SRV_ITEM_ID, FULFILLED_APPOINTMENT_ID, FULFILLED_LOCATION_ID, FULFILLED_LOCATION, IS_LAB_APMT, TP_PKG_ID, TP_ITEM_ID, LAB_TEST_ID, LAB_PROFILE_ID, LAST_UPDATED_DATE, LAST_UPDATED_USER, IS_TP_APPOINTMENT, BILL_NUMBER FROM Deleted[/code] N 56°04'39.26"E 12°55'05.63" |
 |
|
|
rajasekhar857
Constraint Violating Yak Guru
396 Posts |
Posted - 2009-08-13 : 03:07:34
|
| thanks peso |
 |
|
|
rajasekhar857
Constraint Violating Yak Guru
396 Posts |
Posted - 2009-08-13 : 03:09:19
|
| i am having one more doubt actually this is oracle query and i ahve to select queries with union all statements with exists and not exists conditions now i want to make it in asingle query using those conditions.SELECT ET.EMR_TRANSACTION_ID, ET.TASK_ID,'ENCOUNTER' AS TASK_NAME, TO_CHAR(ET.NODE_DEFINITION_ID) AS NODE_DEFINITION_ID, ET.ID_VALUE, TO_CHAR(ET.FLOW_ID) AS FLOW_ID, TO_CHAR(EA.APPOINTMENT_DATE,'DD/MM/YYYY') AS APPOINTMENT_DATE, TO_CHAR(EA.APPOINTMENT_TIME,'HH:MI:SS AM') AS APPOINTMENT_TIME, TO_CHAR(EA.CREATED_DATE,'DD/MM/YYYY') AS CREATED_DATE, TO_CHAR(EA.APPOINTMENT_ID) AS APPOINTMENT_ID,EA.REASON || ' ' || EA.FRONTDESK_COMMENTS AS FRONTDESK_COMMENTS, EAL.APPOINTMENT_STATUS, EPM.PATIENT_FIRSTNAME, EPM.PATIENT_LASTNAME, EPM.PATIENT_DOB, EPM.PATIENT_HOMEPHONE, EPM.PATIENT_ID, EPM.PATIENT_TYPE,EPM.PATIENT_GENDER,EPM.RACE_ETHNICITY_ID,EPM.MARITAL_STATUS, '' AS NAME, ET.USER_LOGIN AS CONSULTANT_ID, ECD.CONSULTANT_NAME, ET.ROLE_NAME, EA.APPOINTMENT_LOCATION_ID AS LOCATION_ID, EPM.REGISTER_ID AS REGISTER_ID, NVL(IS_EXPRESS,0) AS IS_EXPRESS, 0 AS LAB_REQUEST_ID, 0 AS SPECIMEN_ID, 1 AS IS_ACTIVE FROM EMRAppointmentDetailsHistory EA LEFT JOIN EMRTransactions ET ON ET.ID_VALUE = EA.APPOINTMENT_ID LEFT JOIN EMRPatientsMaster EPM ON EA.PATIENT_ID = EPM.PATIENT_ID LEFT JOIN EMRAppointmentStatusLkup EAL ON EAL.APPOINTMENT_STATUS_ID = EA.APPOINTMENT_ID LEFT JOIN EMRConsultantDetails ECD ON ECD.CONSULTANT_ID = EA.CONSULTANT_ID WHERE ET.TASK_ID = 9 AND EA.APPOINTMENT_STATUS_ID = 2 AND EXISTS (SELECT EMR_TRANSACTION_ID FROM EMRTRANSACTIONS ET1 WHERE ET1.TASK_ID=108 AND ET1.PATIENT_ID = ET.PATIENT_ID AND ET.ID_VALUE = ET1.ID_VALUE)UNION ALLSELECT ET.EMR_TRANSACTION_ID, ET.TASK_ID,'ENCOUNTER' AS TASK_NAME, TO_CHAR(ET.NODE_DEFINITION_ID) AS NODE_DEFINITION_ID, ET.ID_VALUE, TO_CHAR(ET.FLOW_ID) AS FLOW_ID, TO_CHAR(EA.APPOINTMENT_DATE,'DD/MM/YYYY') AS APPOINTMENT_DATE, TO_CHAR(EA.APPOINTMENT_TIME,'HH:MI:SS AM') AS APPOINTMENT_TIME, TO_CHAR(EA.CREATED_DATE,'DD/MM/YYYY') AS CREATED_DATE, TO_CHAR(EA.APPOINTMENT_ID) AS APPOINTMENT_ID,EA.REASON || ' ' || EA.FRONTDESK_COMMENTS AS FRONTDESK_COMMENTS, EAL.APPOINTMENT_STATUS, EPM.PATIENT_FIRSTNAME, EPM.PATIENT_LASTNAME, EPM.PATIENT_DOB, EPM.PATIENT_HOMEPHONE, EPM.PATIENT_ID, EPM.PATIENT_TYPE,EPM.PATIENT_GENDER,EPM.RACE_ETHNICITY_ID,EPM.MARITAL_STATUS, '' AS NAME, ET.USER_LOGIN AS CONSULTANT_ID, ECD.CONSULTANT_NAME, ET.ROLE_NAME, EA.APPOINTMENT_LOCATION_ID AS LOCATION_ID, EPM.REGISTER_ID AS REGISTER_ID, NVL(IS_EXPRESS,0) AS IS_EXPRESS, 0 AS LAB_REQUEST_ID, 0 AS SPECIMEN_ID, 0 AS IS_ACTIVE FROM EMRAppointmentDetailsHistory EA LEFT JOIN EMRTransactions ET ON ET.ID_VALUE = EA.APPOINTMENT_ID LEFT JOIN EMRPatientsMaster EPM ON EA.PATIENT_ID = EPM.PATIENT_ID LEFT JOIN EMRAppointmentStatusLkup EAL ON EAL.APPOINTMENT_STATUS_ID = EA.APPOINTMENT_ID LEFT JOIN EMRConsultantDetails ECD ON ECD.CONSULTANT_ID = EA.CONSULTANT_ID WHERE ET.TASK_ID = 9 AND EA.APPOINTMENT_STATUS_ID = 2 AND NOT EXISTS (SELECT EMR_TRANSACTION_ID FROM EMRTRANSACTIONS ET1 WHERE ET1.TASK_ID=108 AND ET1.PATIENT_ID = ET.PATIENT_ID AND ET.ID_VALUE = ET1.ID_VALUE) |
 |
|
|
rajasekhar857
Constraint Violating Yak Guru
396 Posts |
Posted - 2009-08-13 : 03:13:47
|
| hi iam sending my mssql queries SELECT ET.EMR_TRANSACTION_ID, ET.TASK_ID, ETL.TASK_NAME, ET.NODE_DEFINITION_ID, ET.ID_VALUE, ET.FLOW_ID, EA.APPOINTMENT_DATE, EA.APPOINTMENT_TIME, EA.CREATED_DATE, EA.APPOINTMENT_ID, EA.REASON + ' ' + EA.FRONTDESK_COMMENTS AS FRONTDESK_COMMENTS, EAL.APPOINTMENT_STATUS, EPM.PATIENT_FIRSTNAME, EPM.PATIENT_LASTNAME, EPM.PATIENT_DOB, EPM.PATIENT_HOMEPHONE, EPM.PATIENT_ID, EPM.PATIENT_TYPE, EPM.PATIENT_GENDER, EPM.RACE_ETHNICITY_ID, EPM.MARITAL_STATUS, '' AS NAME, ET.USER_LOGIN AS CONSULTANT_ID, ECD.CONSULTANT_NAME, ET.ROLE_NAME, EA.APPOINTMENT_LOCATION_ID AS LOCATION_ID, EPM.REGISTER_ID AS REGISTER_ID, ISNULL(IS_EXPRESS,0) AS IS_EXPRESS, 0 AS LAB_REQUEST_ID, 0 AS SPECIMEN_ID , 1 AS IS_ACTIVE FROM EMRAppointmentDetailsHistory EA LEFT JOIN EMRTransactions ET ON ET.ID_VALUE = EA.APPOINTMENT_ID LEFT JOIN EMRPatientsMaster EPM ON EA.PATIENT_ID = EPM.PATIENT_ID LEFT JOIN EMRAppointmentStatusLkup EAL ON EAL.APPOINTMENT_STATUS_ID = EA.APPOINTMENT_ID LEFT JOIN EMRConsultantDetails ECD ON ECD.CONSULTANT_ID = EA.CONSULTANT_ID LEFT JOIN EMRTASKLISTLKUP ETL ON ETL.TASK_ID = ET.TASK_ID WHERE ET.TASK_ID = 9 AND EA.APPOINTMENT_STATUS_ID = 2 AND EXISTS (SELECT EMR_TRANSACTION_ID FROM EMRTRANSACTIONS ET1 WHERE ET1.TASK_ID=108 AND ET1.PATIENT_ID = ET.PATIENT_ID AND ET.ID_VALUE = ET1.ID_VALUE)UNION ALL SELECT ET.EMR_TRANSACTION_ID, ET.TASK_ID, ETL.TASK_NAME, ET.NODE_DEFINITION_ID, ET.ID_VALUE, ET.FLOW_ID, EA.APPOINTMENT_DATE, EA.APPOINTMENT_TIME, EA.CREATED_DATE, EA.APPOINTMENT_ID, EA.REASON + ' ' + EA.FRONTDESK_COMMENTS AS FRONTDESK_COMMENTS, EAL.APPOINTMENT_STATUS, EPM.PATIENT_FIRSTNAME, EPM.PATIENT_LASTNAME, EPM.PATIENT_DOB, EPM.PATIENT_HOMEPHONE, EPM.PATIENT_ID, EPM.PATIENT_TYPE, EPM.PATIENT_GENDER, EPM.RACE_ETHNICITY_ID, EPM.MARITAL_STATUS, '' AS NAME, ET.USER_LOGIN AS CONSULTANT_ID, ECD.CONSULTANT_NAME, ET.ROLE_NAME, EA.APPOINTMENT_LOCATION_ID AS LOCATION_ID, EPM.REGISTER_ID AS REGISTER_ID, ISNULL(IS_EXPRESS,0) AS IS_EXPRESS, 0 AS LAB_REQUEST_ID, 0 AS SPECIMEN_ID, 0 AS IS_ACTIVE FROM EMRAppointmentDetailsHistory EA LEFT JOIN EMRTransactions ET ON ET.ID_VALUE = EA.APPOINTMENT_ID LEFT JOIN EMRPatientsMaster EPM ON EA.PATIENT_ID = EPM.PATIENT_ID LEFT JOIN EMRAppointmentStatusLkup EAL ON EAL.APPOINTMENT_STATUS_ID = EA.APPOINTMENT_ID LEFT JOIN EMRConsultantDetails ECD ON ECD.CONSULTANT_ID = EA.CONSULTANT_ID LEFT JOIN EMRTASKLISTLKUP ETL ON ETL.TASK_ID = ET.TASK_ID WHERE ET.TASK_ID = 9 AND EA.APPOINTMENT_STATUS_ID = 2 AND NOT EXISTS (SELECT EMR_TRANSACTION_ID FROM EMRTRANSACTIONS ET1 WHERE ET1.TASK_ID=108 AND ET1.PATIENT_ID = ET.PATIENT_ID AND ET.ID_VALUE = ET1.ID_VALUE) |
 |
|
|
|
|
|