Some time ago I ran into a strange error when inserting data into a table using DB2 9.7.1 on Windows. To prepare for a database class I wanted to create a table with the 50 best movies ever. I started off with:
create table bestmovies(rank int unique not null, title varchar(100), url varchar(200))
DB20000I The SQL command completed successfully.
So far, so good. Trying to be a good teacher I planned to show how to document database objects:
comment on table bestmovies is ‘Table with the best movies ever, URL is for imdb links’
DB20000I The SQL command completed successfully.
Then I inserted some data to try out that it works. For later importing from a file was planned.
insert into bestmovies values(1,'The Shawshank Redemption','http://www.imdb.com/title/tt0111161/')
DB20000I The SQL command completed successfully.
Doing a multi-insert also worked:
insert into bestmovies values(2,‘The Godfather’,‘http://www.imdb.com/title/tt0068646/'),(3,'The Godfather: Part II’,‘http://www.imdb.com/title/tt0071562/')
DB20000I The SQL command completed successfully.
However, later I ran into a strange error:
insert into bestmovies values(20, 'The Hottie & the Nottie','http://www.imdb.com/title/tt0804492/')
DB21034E The command was processed as an SQL statement because it was not a
valid Command Line Processor command. During SQL processing it returned:
SQL0114N The value(s) violate a semantic condition defined on the table “HLOESER.BESTMOVIES”. SQLSTATE=42603
I couldn't find a description of the error code or the error message in the [DB2 Information Center](http://publib.boulder.ibm.com/infocenter/db2luw/v9r7/index.jsp). The [error code is not listed](http://publib.boulder.ibm.com/infocenter/db2luw/v9r7/nav/2_6_27_0). Usually I am not using comments on my regular test tables, so I am not sure what it means. Do you have any clue or give me pointers? This looks very interesting.
Update: After dropping the comment on the table, it now works.