有inert、update、delete权限,但是没有MERGE INTO权限MERGE INTO DIAGNOSIS@tohis p
USING emr_diagnosis np
ON (p.PATIENT_ID = np.PATIENT_ID and p.VISIT_ID = np.VISIT_ID and p.DIAGNOSIS_TYPE = np.DIAGNOSIS_TYPE and p.DIAGNOSIS_NO = np.DIAGNOSIS_NO)
WHEN NOT MATCHED THEN
INSERT
VALUES
(np.PATIENT_ID,
np.VISIT_ID,
np.DIAGNOSIS_TYPE,
np.DIAGNOSIS_NO,
np.DIAGNOSIS_DESC,
np.DIAGNOSIS_DATE,
np.TREAT_DAYS,
np.TREAT_RESULT,
np.OPER_TREAT_INDICATOR,
np.DIAGNOSIS_CODE,
np.INSERT_INDICATOR,
np.ADMISSION_CONDITION,
np.DIAGNOSIS_CODE2)
WHERE np.patient_id = '0106853'
and np.visit_id = '1'
and replace(replace(np.DIAGNOSIS_DESC, '—', ''), '-', '') is not null
WHEN MATCHED THEN
UPDATE
SET p.DIAGNOSIS_DESC = np.DIAGNOSIS_DESC,
p.DIAGNOSIS_DATE = np.DIAGNOSIS_DATE,
p.TREAT_RESULT = np.TREAT_RESULT,
p.DIAGNOSIS_CODE = np.DIAGNOSIS_CODE,
p.ADMISSION_CONDITION = np.ADMISSION_CONDITION
WHERE np.patient_id = '0106853'
and np.visit_id = '1'
and replace(replace(np.DIAGNOSIS_DESC, '—', ''), '-', '') is not null;这个语句执行失败
ora-01031:insufficient privileges
ora-02063:紧接着line(起自TOHIS)
USING emr_diagnosis np
ON (p.PATIENT_ID = np.PATIENT_ID and p.VISIT_ID = np.VISIT_ID and p.DIAGNOSIS_TYPE = np.DIAGNOSIS_TYPE and p.DIAGNOSIS_NO = np.DIAGNOSIS_NO)
WHEN NOT MATCHED THEN
INSERT
VALUES
(np.PATIENT_ID,
np.VISIT_ID,
np.DIAGNOSIS_TYPE,
np.DIAGNOSIS_NO,
np.DIAGNOSIS_DESC,
np.DIAGNOSIS_DATE,
np.TREAT_DAYS,
np.TREAT_RESULT,
np.OPER_TREAT_INDICATOR,
np.DIAGNOSIS_CODE,
np.INSERT_INDICATOR,
np.ADMISSION_CONDITION,
np.DIAGNOSIS_CODE2)
WHERE np.patient_id = '0106853'
and np.visit_id = '1'
and replace(replace(np.DIAGNOSIS_DESC, '—', ''), '-', '') is not null
WHEN MATCHED THEN
UPDATE
SET p.DIAGNOSIS_DESC = np.DIAGNOSIS_DESC,
p.DIAGNOSIS_DATE = np.DIAGNOSIS_DATE,
p.TREAT_RESULT = np.TREAT_RESULT,
p.DIAGNOSIS_CODE = np.DIAGNOSIS_CODE,
p.ADMISSION_CONDITION = np.ADMISSION_CONDITION
WHERE np.patient_id = '0106853'
and np.visit_id = '1'
and replace(replace(np.DIAGNOSIS_DESC, '—', ''), '-', '') is not null;这个语句执行失败
ora-01031:insufficient privileges
ora-02063:紧接着line(起自TOHIS)
可以的,我在同一个用户下面可以 insert into DIAGNOSIS@tohis,delete from DIAGNOSIS@tohis,update DIAGNOSIS@tohis
9i已经支持了,但是只支持select子查询,
如果是单条数据记录,可以写作select …… from dual的子查询。但是merge不允许更新on条件里面的列的值,否则会报ORA-38104错误。