Errors
創建視圖給出 SQL7029
如果相關,我正在使用 IBM i V7R1M0。
我在 C# 中有一些程式碼:
var generateSqlSql = $@" CALL QSYS2.GENERATE_SQL( '{obj.Name}', '{obj.Library}', 'VIEW', CREATE_OR_REPLACE_OPTION => '1', HEADER_OPTION => '0', COMMENT_OPTION => '1', PRIVILEGES_OPTION => '0', LABEL_OPTION => '0' )"; ... //get results //split on semicolon //change library //write back to database
然後它試圖編寫的 sql 是:
CREATE OR REPLACE VIEW AMMLIBC.BBI_USER_MY_VIEW FOR SYSTEM NAME BBIU_00001 ( /* view columns */ ) AS /*view definition */ RCDFMT BBIU_00001
當我嘗試執行它時,它會出現以下錯誤:
iDB2SQLErrorException: SQL7029 New name BBIU_00001 is not valid.
…為什麼?是什麼原因造成的,我該如何讓它發揮作用?
發現了問題。
該視圖已存在於原始庫和目標庫中,但係統名稱不同。
添加此行解決了問題:
SYSTEM_NAME_OPTION => '0',