2016-01-06 19 views
1

我無法在Bluemix上的SQL數據庫服務上創建觸發器。我總是收到錯誤消息「queryExecFailure - 不支持的SQL語句或命令。」這很清楚。 有人得到相同的反饋嗎?任何選項來激活觸發器?Bluemix SQL數據庫服務和觸發器

許多THX

+0

您使用什麼服務,免費或保費?你是怎麼執行'CREATE TRIGGER'的? –

+0

我正在使用免費服務並通過SQL數據庫服務(SQL數據庫控制檯 - >運行查詢)的bluemix接口發送SQL命令。查詢是以下內容: – renaudb

+0

CREATE TRIGGER USER11266.CI_IT_VOITURESCAST 上USER11266.VOITURESCAST插入每行 後開始 插入到USER11266.CI_BT_VOITURESCAST ( IH_PK ,IH_OPERATION_NAME ,IH_FLAG ) 值 ( CI_SEQ_VOITURESCAST.nextval ,'INSERT' ,NULL ); end – renaudb

回答

1

有在Bluemix的SQL數據庫服務比較正規的DB2數據庫幾個功能限制。他們取決於您是否使用免費服務或高級服務。在免費服務中,用戶被映射到DB2數據庫中的模式,並且只具有基本權限。這減少了觸發器的一些可能的用例。

創建觸發器是DDL,而不是DML。創建它們的成功取決於語句的執行方式。 「運行查詢」接口只能用於執行SELECT語句。要運行類似觸發器的東西,您需要將SQL客戶端(例如IBM Data Studio,SQuirreL,...)連接到數據庫。

另請注意required privileges to create triggers。觸發器的功能僅限於您的架構和您的特權。

+0

這個答案似乎有些含糊。免費版本中是否禁止觸發器? – david

+0

觸發器是允許的,但由於設置有一些限制。 –