【问题标题】:Bluemix SQL Database service and triggersBluemix SQL 数据库服务和触发器
【发布时间】:2016-01-06 15:53:05
【问题描述】:

我无法在 Bluemix 上的 SQL 数据库服务上创建触发器。我总是收到错误消息“queryExecFailure - 不支持的 SQL 语句或命令”。这很清楚。 有人得到相同的反馈吗?任何激活触发器的选项?

很多感谢

【问题讨论】:

  • 您使用什么服务,免费还是付费?你是如何执行CREATE TRIGGER的?
  • 我正在使用免费服务并通过 SQL 数据库服务的 bluemix 接口发送 SQL 命令(SQL 数据库控制台 -> 运行查询)。查询如下:
  • 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结束
  • 正如我在回答中所说,您不能通过查询接口运行 DML。

标签: triggers ibm-cloud sqldb


【解决方案1】:

与常规 DB2 数据库相比,Bluemix 上的 SQL DB 服务存在一些功能限制。它们取决于您使用的是免费服务还是高级服务。在免费服务中,用户被映射到 DB2 数据库中的模式并且只有基本权限。这减少了触发器的一些可能用例。

创建触发器是 DDL,而不是 DML。创建它们的成功取决于语句的执行方式。 “运行查询”接口只能用于执行 SELECT 语句。要运行触发器之类的东西,您需要将 SQL 客户端(例如 IBM Data Studio、SQuirreL...)连接到数据库。

还要注意required privileges to create triggers。触发器的功能仅限于您的架构和您的权限。

【讨论】:

  • 这个答案似乎有些模棱两可。免费版是否不允许使用触发器?
  • 触发器是允许的,但由于设置有一些限制。
猜你喜欢
  • 2016-04-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-23
  • 1970-01-01
相关资源
最近更新 更多