从视图内调用存储过程

2024-02-19

我有一个创建表的过程,是否可以有一个可以调用该过程然后从表中进行选择的视图(或类似视图)?

我试过这个:

DELIMITER $$

CREATE DEFINER=`root`@`localhost` FUNCTION `new_routine`(p1 INT) RETURNS int(1)
BEGIN
    CALL rMergeDateFields();
    RETURN 1;
END


CREATE VIEW `db`.`vIntervals` AS
  SELECT new_routine(0) AS col1;
  SELECT * FROM MergedData;

但我收到这个错误

错误 1422:存储函数或触发器中不允许显式或隐式提交。

有任何想法吗?


你不能。意见是通常只读操作;如果调用存储过程,则无法保证该行为。

相关问题:

如何在视图中调用存储过程? https://stackoverflow.com/questions/916784/how-to-call-stored-procedure-in-a-view

是否可以在视图中调用存储过程? https://stackoverflow.com/questions/5799489/is-it-possible-to-call-stored-procedure-in-view

这是一个规范资源:

http://dev.mysql.com/doc/refman/5.1/en/view-updatability.html http://dev.mysql.com/doc/refman/5.1/en/view-updatability.html

一些视图是可更新的。也就是说,您可以在 UPDATE、DELETE 或 INSERT 等语句中使用它们来更新基础表的内容。为了使视图可更新,视图中的行和基础表中的行之间必须存在一对一的关系。还有某些其他结构使视图不可更新。

由于调用存储过程不能保证与视图行的 1:1 关系,因此不允许更新。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从视图内调用存储过程 的相关文章

随机推荐

  • Web 项目中的 DAO、Hibernate 和会话

    我读过很多关于 DAO 和会话的问题 但不明白问题所在 现在我用这样的东西 core DAO http techtracer com wp content uploads 2008 12 daojava txt 我在核心 DAO 中添加了一
  • 使用画布渲染器绕 y 轴旋转长方体而不导致图像失真 ( Three.js )

    我花了几个小时试图解决这个问题 当渲染非常简单的形状 即复杂性非常低的立方体 并使用 Three js 的纹理贴图功能时 当您旋转立方体时 图像似乎旋转时会变形 然后您可以看到一条穿过立方体表面的线 该线看起来像变形 http screen
  • 提取数据 PHP 字符串

    我已经使用 file get contents 基本上将站点的源代码获取到单个字符串变量中 源包含许多行 如下所示 td align center a href somewebsite com something 12345 a td 还有
  • 如何将客户端代码映射到源代码

    最近我了解到可以使用以下命令显示添加到 DOM Dev Tools Elements 选项卡的 JavaScript 代码document write eval等到 Chrome 开发工具和其他浏览器的源代码面板 这是通过在结束前添加评论来
  • 关闭挂钩 C++

    无论何种终止 异常 正常 未捕获的异常等 是否有某种方法可以在终止时运行代码 我知道它在 Java 中实际上是可能的 但是在 C 中也可能吗 我假设一个Windows环境 不 如果有人调用TerminateProcess 您的进程将被销毁
  • iOS 开发人员如何称呼页面底部指示应用程序中打开的窗口数量的点?

    重复 iOS 开发人员将页面底部指示应用程序中打开的窗口数量的视觉点称为什么 这是一个页面控制 http developer apple com library ios documentation uikit reference UIPag
  • JavaScript 对象只是一个关联数组吗?

    好的 我刚刚学习了 JavaScript 的基础知识 并且正在学习objects我在哪里遇到这个例子 JavaScript var person firstname Smith lastname Bach 我们用 PHP 写的是 perso
  • 错误:没有匹配的函数可用于调用“min(long unsigned int&, unsigned int&)”

    我使用的是 ubuntu 12 04 64 位 我用 boost 1 46 1 48 1 52 和 海湾合作委员会 4 4 和 4 6 当我尝试编译时 while m burstReqBeatsRemain if m burstReqAdd
  • UnityEvent 未在检查器中显示动态方法调用(其他 Unity 事件也部分损坏)

    我有这个团结活动 Serializable public class UnityEventString UnityEvent
  • 用针织钩来分隔 000,但已经好几年了

    我在我的顶部定义了一个钩子rnw用逗号分隔 000 knit hooks set inline function x prettyNum x big mark 但是 有一些数字我不想这样格式化 例如年 有没有更好的方法来编写钩子 或者在打印
  • ng2-completer 鼠标单击时未触发所选事件

    正如问题所暗示的 我在应用时遇到问题selected https www npmjs com package ng select ng select活动为ng2 completer 这似乎也是一个悬而未决的问题ng2 completer因为
  • 尝试动态设置MetaTag

    我正在尝试动态地将元标记设置到文档的头部 这是我需要通过代码添加的移动设备特定元标记 我在这里找到了这个解决方案 使用 jQuery 设置元标记值时遇到问题 https stackoverflow com questions 2831529
  • 尝试发布工件时出现错误

    我正在尝试将我的 android 库发布到我的私人存储库 但我从 android studio 的终端收到此错误 无法发布构建信息 请求版本时发生错误 信息 未经授权 这是命令 gradlew bat build artifactoryPu
  • C++11:用另一个 constexpr char 数组初始化 constexpr char 数组

    我想初始化constexpr char 与另一个成员constexpr char 成员 是否可以做C 11或以上 include
  • 如何比较Python中的两个类/类型?

    我在模块中定义了两个类classes py class ClassA object pass class ClassB object pass 在另一个模块中 我获取了该模块的属性 import classes Class1 getattr
  • 在 SQL Server 中根据日期合并行

    我想根据开始日期和结束日期显示数据 一个代码可以包含不同的日期 如果任何时间间隔继续 那么我需要合并这些行并显示为单行 这是示例数据 Code Start Date End Date Volume 470 24 Oct 10 30 Oct
  • PHP 中四舍五入到最大千、百等

    我有一个非常简单的 PHP 问题 但我不知道该怎么做 我想根据数据库返回的值四舍五入到最大百或千 以下是我需要的一些示例 DB返回值11 我希望PHP输出20 DB返回值104 我希望PHP输出200 DB返回值1404 我希望PHP输出2
  • bsxfun 在 MATLAB 中仍然是最优的吗?

    我确实碰到了this https stackoverflow com questions 12951453 in matlab when is it optimal to use bsxfun在搜索这个主题时提出问题 但这似乎已经过时了 R
  • github源码浏览中AJAX是如何完成的?

    Github 有一个非常好的源代码浏览器 在存储库中的不同路径之间导航会生成 ajax 调用来加载内容 正如您可以在 firebug 日志中清楚地看到的那样 ajax 调用返回要显示的新文件列表的 html 除了更改文件的查看列表之外 UR
  • 从视图内调用存储过程

    我有一个创建表的过程 是否可以有一个可以调用该过程然后从表中进行选择的视图 或类似视图 我试过这个 DELIMITER CREATE DEFINER root localhost FUNCTION new routine p1 INT RE