2011-12-20 87 views
0

我想將下面的約束添加到我的DB2表中,但它給出錯誤。Db2約束查詢給出錯誤

ALTER TABLE Table_name ADD CONSTRAINT VALID_BINDING 
    CHECK((LOWER(REQ_BINDING) IN ('http-post','http-redirect')) 
    AND ((LOWER(RESP_BINDING) IN ('http-post','http-redirect'))); 

錯誤堆棧跟蹤

DB21034E The command was processed as an SQL statement because it was not a 
valid Command Line Processor command. During SQL processing it returned: 
SQL0104N An unexpected token "END-OF-STATEMENT" was found following "', 
'http-redirect')))". Expected tokens may include: ")". SQLSTATE=42601 

SQL0104N An unexpected token "END-OF-STATEMENT" was found following "','http-redirect')))". Expected tokens may include: ")        ". 

Explanation: 

A syntax error in the SQL statement or the input command string 
for the SYSPROC.ADMIN_CMD procedure was detected at the specified 
token following the text "<text>". The "<text>" field indicates 
the 20 characters of the SQL statement or the input command 
string for the SYSPROC.ADMIN_CMD procedure that preceded the 
token that is not valid. 

As an aid, a partial list of valid tokens is provided in the 
SQLERRM field of the SQLCA as "<token-list>". This list assumes 
the statement is correct to that point. 

The statement cannot be processed. 
+1

您缺少一個右括號。 – 2011-12-20 11:36:50

+1

[DB2約束中的AND運算符]的可能重複(http://stackoverflow.com/questions/8574840/and-operator-in-db2-constraints) – 2011-12-20 12:44:40

回答

1

括號錯過。

ALTER TABLE Table_name ADD CONSTRAINT VALID_BINDING 
    CHECK((LOWER(REQ_BINDING) IN ('http-post','http-redirect')) 
    AND ((LOWER(RESP_BINDING) IN ('http-post','http-redirect'))));