首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我的存储函数消失了,大概是在我的RazorSQL会话结束时

我的存储函数消失了,大概是在我的RazorSQL会话结束时
EN

Stack Overflow用户
提问于 2011-05-19 17:38:05
回答 1查看 155关注 0票数 2

我正在使用RazorSQL的实时会话窗口创建和编辑几个存储过程。

从那以后,我断开了与数据库的连接,并重新连接,现在这些过程已经消失了。

假设我在这里搞砸了,但我使用的登录名有权创建这些过程,并且当我第一次仍然连接时,我可以实际连接并执行存储过程,所以我知道它们至少在那里。

除了编写一个有效的"CREATE FUNCTION“块之外,我还需要在RazorSQL中做什么才能使该函数成为持久性函数?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-05-20 09:21:27

在Informix中,几乎所有的SQL语句,包括DDL和DML,都受到事务的影响( CREATE DATABASE、DROP DATABASE和RENAME DATABASE除外)。

Informix中有几种类型的数据库-当前用途的主要区别是“模式ANSI”和“记录的”和“未记录的”数据库。

  • A模式ANSI数据库始终在您执行诸如CREATE FUNCTION之类的语句时启动事务处理,该事务处理将继续,直到您提交工作、回退工作或退出会话(相当于回退)。
  • 记录的数据库支持事务处理,但除非您使用BEGIN WORK显式启动事务处理,否则每个语句都是自包含的事务处理。实际上,AutoCommit会一直应用到您执行BEGIN WORK为止。
  • 未记录日志的数据库不支持事务;每条语句或多或少都是一个自包含的事务,没有覆盖此行为的机制。

在我看来,你所看到的最可能的解释是:

  • 您(或RazorSQL)启动了一个事务(显式使用BEGIN WORK,或在ANSI模式数据库中隐式启动),然后在提交事务之前退出,因此效果被回滚。
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6056655

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档