Code: |
CREATE DATABASE MyDatabase BUFFERPOOL BP0 INDEXBP BP0 CCSID EBCDIC STOGROUP xxxxxxxxxxxxxxx ; |
Code: |
CREATE TABLESPACE S0TEST IN MyDatabase CLOSE NO SEGSIZE 4 ; |
Code: |
CREATE TABLE XXX .TBTEST ( FIELD1 CHAR(10) NOT NULL ) IN MyDatabase .S0TEST ; |
Code: |
CREATE VIEW XXX.TBTESTU (FIELD1) AS SELECT CAST(FIELD1 AS GRAPHIC(10) CCSID UNICODE) FROM XXX.TBTEST ; |
Code: |
INSERT INTO XXX.TBTESTU (FIELD1) VALUES ('MY DATA'); ---------+---------+---------+---------+---------+---------+---------+---------+ DSNT408I SQLCODE = -150, ERROR: THE OBJECT OF THE INSERT, DELETE, OR UPDATE STATEMENT IS A VIEW, SYSTEM-MAINTAINED MATERIALIZED QUERY TABLE, OR TRANSITION TABLE FOR WHICH THE REQUESTED OPERATION IS NOT PERMITTED DSNT418I SQLSTATE = 42807 SQLSTATE RETURN CODE DSNT415I SQLERRP = DSNXOVC SQL PROCEDURE DETECTING ERROR DSNT416I SQLERRD = -115 0 0 -1 0 0 SQL DIAGNOSTIC INFORMATION DSNT416I SQLERRD = X'FFFFFF8D' X'00000000' X'00000000' X'FFFFFFFF' X'00000000' X'00000000' SQL DIAGNOSTIC INFORMATION ---------+---------+---------+---------+---------+---------+---------+---------+ |
Code: |
CREATE TRIGGER XXX.TBTESTU_T INSTEAD OF INSERT ON XXX.TBTESTU REFERENCING NEW AS NEWROW FOR EACH ROW MODE DB2SQL INSERT INTO XXX.TBTEST ( FIELD1 ) VALUES ( CAST(NEWROW.FIELD1 AS CHAR(10) CCSID EBCDIC) ); ---------+---------+---------+---------+---------+---------+---------+---------+ DSNT408I SQLCODE = -873, ERROR: THE STATEMENT REFERENCED DATA ENCODED WITH DIFFERENT ENCODING SCHEMES OR CCSIDS IN AN INVALID CONTEXT DSNT418I SQLSTATE = 53090 SQLSTATE RETURN CODE DSNT415I SQLERRP = DSNXICTR SQL PROCEDURE DETECTING ERROR DSNT416I SQLERRD = 245 0 0 -1 0 0 SQL DIAGNOSTIC INFORMATION DSNT416I SQLERRD = X'000000F5' X'00000000' X'00000000' X'FFFFFFFF' X'00000000' X'00000000' SQL DIAGNOSTIC INFORMATION |
bauer wrote: |
Select for this view works, no problem. Update, Insert doesn't work. Solution for Update, Insert: Instead of Trigger like this, but it is not possible to create this Trigger. Why ? Any comments ? How to provide the data of one table as EBCDIC data and UNICODE data ? Functions EBCDIC_STR and UNICODE_STR instead of CAST doesn't work. Remark: The Topic, that not all UNICODE chars (2 Byte) can be converted to EBCDIC (1 Byte) is of course well know, but not relevant for this question. Thank you for all helpful comments. bauer |
bauer wrote: |
We have an environment which requires UNICODE (tables or views). The complete interface to the database should be UNICODE. So we created the UNICODE view.
If we would use the base table, the interface to the database wouldn't be UNICODE. Hope you understand, what I mean. bauer |
Code: |
INSERT INTO XXX .TBTEST (FIELD1) VALUES (UNICODE_STR('MY DATA',UTF16)) ; |
output generated using printer-friendly topic mod. All times are GMT - 5 Hours