Tag: 存储过程

entity framework代码是否首先支持存储过程?

我观看了EF Code First的几个演示文稿,并没有看到EFCF如何与存储过程一起工作。 我怎样才能声明一个方法,将使用一些sp? 我可以将实体传递给调用sp的方法,而无需手动将实体属性映射到sp参数? 另外,如果我改变我的模型会发生什么? 在从模型中重新创build表格的时候,它会掉下我的sp吗? 那触发器呢? 如果这些东西不被支持,将来有没有计划支持他们?

如何使用dynamicSQL设置复合variables字段的值

鉴于这种types: — Just for testing purposes: CREATE TYPE testType as (name text) 我可以用这个函数dynamic地获得一个字段的值: CREATE OR REPLACE FUNCTION get_field(object anyelement, field text) RETURNS text as $BODY$ DECLARE value text; BEGIN EXECUTE 'SELECT $1."' || field || '"' USING object INTO value; return value; END; $BODY$ LANGUAGE plpgsql 调用get_field('(david)'::testType, 'name')按照预期返回“david”。 但是,我怎样才能设置复合types的字段的值? 我试过这些function: CREATE OR REPLACE FUNCTION set_field_try1(object […]

当从Web上调用存储过程时,速度很慢,来自Management Studio

我有存储过程疯狂超时每一次从Web应用程序调用它。 我启动了Sql Profiler并追踪了超时的调用,最后发现了这些事情: 当从MS SQL Management Studio中执行语句时,使用相同的参数(实际上,我从sql profile trace复制过程调用并运行它):在5〜6秒内完成平均。 但是,当从Web应用程序调用,它需要超过30秒(跟踪),所以我的网页实际上超时了。 除了我的Web应用程序有自己的用户,每一件事情都是一样的(相同的数据库,连接,服务器等),我也试着直接在工作室与Web应用程序的用户运行查询,它不会超过6秒。 我如何知道发生了什么? 我假设它与我们使用BLL> DAL层或表适配器的事实无关,因为跟踪清楚地显示了延迟在实际过程中。 这是我所能想到的。 编辑我在这个链接中发现,ADO.NET设置ARITHABORT为真 – 这对大多数时间是好的,但有时会发生这种情况,build议的解决方法是添加with recompile选项存储过程。 在我的情况下,它不工作,但我怀疑这是非常相似的东西。 任何人都知道还有什么ADO.NET做什么或我可以find规范?

如何从PHP代码中调用MySQL存储过程?

我有我在MySQL中创build的存储过程,并希望PHP调用该存储过程。 什么是最好的方法来做到这一点? -MySQL客户端版本:4.1.11 -MySQL服务器版本:5.0.45 这是我的存储过程: DELIMITER $$ DROP FUNCTION IF EXISTS `getNodeName` $$ CREATE FUNCTION `getTreeNodeName`(`nid` int) RETURNS varchar(25) CHARSET utf8 BEGIN DECLARE nodeName varchar(25); SELECT name into nodeName FROM tree WHERE id = nid; RETURN nodeName; END $$ DELIMITER ; 什么是PHP代码来调用过程getTreeNodeName?

将列表<>传递给SQL存储过程

我经常不得不将多个项目加载到数据库中的特定logging。 例如:网页显示单个报表所包含的项目,所有项目都是数据库中的logging(报表是报表中的logging,项目是项目表中的logging)。 用户通过networking应用程序select要包括在单个报告中的项目,并且假设他们select3个项目并提交。 该过程将通过将logging添加到名为ReportItems(ReportId,ItemId)的表中,将这3个项目添加到此报告中。 目前,我会在代码中做这样的事情: public void AddItemsToReport(string connStr, int Id, List<int> itemList) { Database db = DatabaseFactory.CreateDatabase(connStr); string sqlCommand = "AddItemsToReport" DbCommand dbCommand = db.GetStoredProcCommand(sqlCommand); string items = ""; foreach (int i in itemList) items += string.Format("{0}~", i); if (items.Length > 0) items = items.Substring(0, items.Length – 1); // Add parameters db.AddInParameter(dbCommand, "ReportId", DbType.Int32, […]

通过事先等价的MySQL连接

所有, 我有一个表中的三个字段定义了MySQL数据库版本5.0中存在的父子关系。 表名是tb_Tree,它有以下数据: Table Name: tb_Tree Id | ParentId | Name ——————– 1 | 0 | Fruits 2 | 0 | Vegetables 3 | 1 | Apple 4 | 1 | Orange 5 | 2 | Cabbage 6 | 2 | Eggplant 如果指定了ParentId,我该如何编写一个Query来获取所有的孩子。 请注意,给出的表格条目仅仅是样本数据,并且可以有更多的行。 Oracle有一个“CONNECT BY PRIOR”子句,但是我没有发现类似于MySQL的东西。 任何人都可以请指教? 谢谢

如何在MySQL函数中引发错误

我已经创build了一个MySQL函数,并且如果parameter passing的值是无效的,就会引发一个错误。 我在MySQL函数中引发错误的选项是什么?

在SQL Server中转义string,以便在LIKEexpression式中使用它是安全的

如何在SQL Server的存储过程中转义string,以便在LIKEexpression式中使用它是安全的。 假设我有一个NVARCHARvariables,如下所示: declare @myString NVARCHAR(100); 我想用LIKEexpression式来使用它: … WHERE … LIKE '%' + @myString + '%'; 如何在T-SQL中转义string(更具体地说,对LIKE模式匹配有意义的字符,例如%或? ),以便以这种方式使用是安全的? 例如,给出: @myString = 'aa%bb' 我想要: WHERE … LIKE '%' + @somehowEscapedMyString + '%' 匹配'aa%bb' , 'caa%bbc'而不是'aaxbb'或'caaxbb' 。

如何在MS Access中创build存储过程?

如何在MS Access中创build存储过程?

检索存储过程结果集的列定义

我正在使用SQL Server 2008中的存储过程,并且我已经了解到,为了处理数据,我必须INSERT INTO已预定义的临时表。 这很好,除了我怎么知道如何定义我的临时表,如果我不是编写存储过程,而不是列出它的定义和通过代码读取? 例如,对于`EXEC sp_stored_procedure',我的临时表是什么样的? 这是一个简单的存储过程,我可能会猜测数据types,但似乎必须有一种方法来读取执行过程返回的列的types和长度。