stored-procedures相关内容

我可以从存储过程访问远程mysql服务器/ db吗?

是否可以使用sql语句从存储过程连接到远程mysql服务器实例,以进行选择和插入访问? 理想情况下, (伪代码): 连接到remotedb @ remotehost 从remotedb.table1中选择field1其中... 我想我可以在C / C ++中开发一个用户定义的函数,如果可能的话,我更喜欢使用本地语法。谢谢! 解决方案 是的。使用联合表功能。 ..
发布时间:2017-03-14 00:40:43 数据库

存储过程是否在Postgres的数据库事务中运行?

如果存储过程在中间失败,那么从SP的开始的更改会隐式回滚,或者我们必须编写任何显式代码以确保SP仅在数据库事务中运行吗? $严格来说,Postgres目前不支持(包括版本9.5)有“存储过程”,如第ANSI标准。一切都由“函数”完成,它提供了与其他RDBMS提供的存储过程几乎相同的功能(和更多)。主要区别在于交易处理。 “存储过程”和“存储函数”之间有什么区别? 功能 是在Postgr ..

使用存储过程时,哪个ORM是最好的

我有商业对象(DEVELOPERS WRITE)和一些SPROCS(DBA WRITE) 任何人都可以推荐一个好的对象映射器来处理这种设置。 我试过codemith和nhibernate和麻烦。我不介意我的ORM是免费还是付费。 解决方案 SubSonic对sprocs有极好的支持。它将每一个包装在一个帮助方法,你可以从结果中检索强类型的集合或实体,如果你想要的。我在此博文中展 ..
发布时间:2017-03-13 23:12:44 C#/.NET

函数与存储过程

假设我必须实现一个必须返回一个表作为结果的T-SQL代码。我可以实现表值函数或返回一组行的存储过程。我应该使用什么? 总之,我想知道的是: 函数和存储过程之间的主要区别?使用一个或另一个时,需要考虑哪些因素? 解决方案 如果您可能想将这段代码的结果与其他表结合,那么很明显,一个表值函数将允许您在一个SELECT语句中组合结果。 通常,存在层次结构(View ..
发布时间:2017-03-13 22:56:52 数据库

如何调试MySQL存储过程?

我当前调试存储过程的过程非常简单。我创建一个名为“debug”的表,其中在运行时从存储过程插入变量值。这允许我在脚本中的给定点看到任何变量的值,但是有更好的方法来调试MySQL存储过程吗? 解决方案 我做的事情和你很相似。 我通常会包含一个默认为false的DEBUG参数,我可以在运行时设置为true。然后将调试语句包装到“If DEBUG”块中。 我还使用一个记录表与我的 ..
发布时间:2017-03-13 22:03:43 数据库

Oracle 10中的本地临时表(对于存储过程的范围)

我是oracle的新手。我需要在存储过程中处理大量的数据。我正在考虑使用临时表。我使用连接池和应用程序是多线程的。 是否有一种创建临时表的方法,即每次调用存储过程时创建不同的表实例,以便多个存储过程调用的数据不会 解决方案 你说你是Oracle的新手。我猜你是习惯了SQL Server,它是相当常见的使用临时表。 Oracle的工作方式不同,所以它不太常见,因为它不太必要。 请 ..
发布时间:2017-03-13 22:01:12 数据库

MySQL触发器无法更新触发器分配到的同一表中的行。建议的解决方法?

MySQL目前不支持更新触发器分配到的同一个表中的行,因为调用可能会递归。有没有人有一个好的解决方法/替代方案的建议?现在我的计划是调用一个存储过程,在触发器中执行我真正想要的逻辑,但我很想听听他人如何绕过这个限制。 编辑:根据要求多一点背景。我有一个表存储产品属性分配。当插入新的父产品记录时,我希望触发器在每个子记录的相同表中执行相应的插入。这种非规范化对于性能是必要的。 MySQL不支持 ..
发布时间:2017-03-13 21:58:34 数据库

数据库字段中的逗号分隔值

我有一个产品表。该表中的每一行对应一个产品,并由唯一的ID标识。现在,每个产品可以具有与该产品相关联的多个“代码”。例如: Id |代码 ---------------------- 0001 | IN,ON,ME,OH 0002 | ON,VI,AC,ZO 0003 | QA,PS,OO,ME 我想做的是创建一个存储过程, “ON,ME”,并返回包含“ON ..
发布时间:2017-03-13 21:20:54 其他数据库

MySQL存储过程使用它们或不使用它们

我们正处于一个新项目的开始,我们真的想知道我们是否应该在MySQL中使用存储过程。 我们将使用存储过程仅用于插入和更新业务模型实体。有几个表代表一个模型实体,我们将在那些存储过程中插入/更新它们。 另一方面,我们可以调用insert和update 根据您的经验,哪个是最好的选择?两种方法的优点和缺点。 PS:这是一个大部分读取的网络项目,高性能是最重要的必要条件。 解 ..

存储过程一般来说比现代RDBMS的内联语句更高效吗?

传统的智慧表明,存储过程总是更快。因此,由于他们总是更快,请使用所有时间。 我确信这是基于一些历史背景下,曾经是这样。现在,我不主张不需要存储过程,但是我想知道在现代数据库(如MySql,SqlServer,Oracle或者)中存储过程是什么情况。 解决方案 注意这是一般看看存储过程没有规定的特定 DBMS。一些DBMS(甚至是不同的 版本的相同的DBMS!)可能操作 与此 ..
发布时间:2017-03-13 20:49:41 其他数据库

游标在过程中返回比查询更多的值

我在一个接收几个参数的过程中使用一个简单的游标。 然后,在选择查询上使用带有where条件的where子句创建一个游标,该条件等于接收到的参数。此游标应只返回1行,而是返回多行。我发现这是因为我使用一个for循环通过这个游标,并根据这个游标的值插入另一个表。 当我运行查询数据库静态(如没有pl / sql)我得到了我的期望,但是当我从一个游标,它应该只返回一行,并运行它在一个for循环,它 ..
发布时间:2017-03-08 22:58:16 数据库

什么是相当于Oracle的REF CURSOR在MySQL?

我试图在mysql中做一个procdure,返回一个数组的结果,我曾经使用oracle ref游标,但在mysql不知道如何继续, 我必须传递参数太... 任何人都知道我能做什么,还是有个例子来告诉我?非常感谢... 解决方案 MySQL中没有REF CURSOR的模拟。存储过程和函数允许只传递和返回标量数据类型,请参见这里 - CREATE PROCEDURE和CREATE FU ..
发布时间:2017-03-08 22:53:03 数据库

如何从多个游标从oracle存储过程返回多个行?

我需要有存储过程,我可以运行多个游标。 在每个游标上循环,然后对每行执行一些操作。 这样,我将获得这些游标的所需结果。这样的多个游标的结果然后需要与一些其他行联合,然后过滤出并返回这些行最后从proc。 请注意,每个cusror和另一个查询将有相同的列。 我不知道如何在oracle中做到这一点。 请帮助我。 创建或替换PROCEDURE test_proc ( ..
发布时间:2017-03-08 22:50:06 数据库

SQL在不知道列名称的情况下更新行

我正在尝试创建一个存储过程,将根据用户输入更新特定的行和列位置。我的表有大约100列使用逐渐增量的名称。例如第1页,第2页,第3页,第4页....等等。当用户完成每个页面的不同版本时,数据也必须以递增的增量更新。 过程被调用我需要它来找到用户的行(Page1是密钥和唯一),并将信息放在其中保存文件的版本的第一个NULL列中。我已经看到谈论使用光标的类似应用程序,但我不知道这是否是正确的解决方 ..
发布时间:2017-03-08 22:46:01 数据库

游标在Mysql有其他权限比用户?

我有两个数据库db1和db2。 用户man1拥有db1的所有权限,但只执行db2中所有函数和过程的特权。 如果调用db2.getValue嵌套在存储过程中,则从db1调用函数db2.getValue成功并返回正确的值。 现在我创建一个存储过程proc1,在此过程中,我使用一个游标从db1中的表中获取值(_val1,_val2, - ),并调用db2.getValue(_val1) ..
发布时间:2017-03-08 22:45:13 数据库