오라클 업데이트를 하려고 합니다. 0 2 1,834

by 찰스 [SQL Query] [2010.12.29 15:52:53]


업데이트를 하려고 합니다.
일반 업데이트 형식은 이렇게 알고 있습니다.

일반 적인 방법!!
UPDATE T_VAL_GENERAL_PROGRAM_VARS set VALUE = '0' where  AREA_ID ='1100'
// T_VAL_GENERAL_PROGRAM_VARS 테이블에서 AREA_ID가 '1100'일때 VALUE 항목에 '0'을 넣어라.


//----------------------------------------------//


에러가 나는 부분


그걸 응용해서 이 문제를 해결 하려고 합니다.


UPDATE T_VAL_GENERAL_PROGRAM_VARS

SET VALUE = '1234'


WHERE T_COM_MDB_VARIABLES.VAR_CODE = T_VAL_GENERAL_PROGRAM_VARS.VAR_CODE  


AND (TRIM(T_ORD_PRODUCT_ORDERS.GANGNAME) || '-' || T_ORD_PRODUCT_ORDERS.BTWID) = T_VAL_GENERAL_PROGRAM_VARS.PRACTICE_ID 


AND TRIM(T_ORD_PRODUCT_ORDERS.GANGNAME) = 'AE15B36M'  


AND T_VAL_GENERAL_PROGRAM_VARS.PRACTICE_ID LIKE '%180%'


//----------------------------------------------//


이렇게 하니 에러가 납니다. WHERE절에 조건을

UPDATE T_VAL_GENERAL_PROGRAM_VARS
SET VALUE = '1234'
WHERE T_COM_MDB_VARIABLES.VAR_CODE = T_VAL_GENERAL_PROGRAM_VARS.VAR_CODE
Error at line 1
ORA-00904: "T_COM_MDB_VARIABLES"."VAR_CODE": 부적합한 식별자



------------------------------------------------


UPDATE T_VAL_GENERAL_PROGRAM_VARS

SET VALUE = '1234'

WHERE T_COM_MDB_VARIABLES.VAR_CODE = T_VAL_GENERAL_PROGRAM_VARS.VAR_CODE  


혹시나 해서 이렇게 날려보니
에러가 발생합니다.

"SET 키워드가 없습니다."


------------------------------------------------


어렇게 걸어야 하는데.. 어떻게 해야할지 조언 부탁드립니다.!!

by 마농 [2010.12.29 16:08:29]
이런식이 되겠네요.
그런데. 조건을 만족하는 행은 하나도 없을 듯 합니다.
a.practice_id 값이
(LIKE '%180%') 과 (= 'AE15B36M' || '-' || c.btwid) 이 두조건을 동시에 만족할수는 없겠죠.

UPDATE t_val_general_program_vars a
SET value = '1234'
WHERE practice_id LIKE '%180%'
AND EXISTS
(
SELECT *
FROM t_com_mdb_variables b
, t_ord_product_orders c
WHERE b.var_code = a.var_code
AND TRIM(c.gangname) || '-' || c.btwid = a.practice_id
AND TRIM(c.gangname) = 'AE15B36M'
)

by 마농 [2010.12.29 16:19:08]
다시 생각해 보니
practice_id 값이 'AE15B36M-180' 이런식이라면 조건에 만족하는 행이 있긴 하겠네요.
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입