Tag: 存储过程

使用php / mysqli中的存储过程检索多个结果集

我有一个有多个结果集的存储过程。 如何提前到mysqli中的第二个结果集来获得这些结果? 假设这是一个存储过程,如下所示: create procedure multiples( param1 INT, param2 INT ) BEGIN SELECT * FROM table1 WHERE id = param1; SELECT * FROM table2 WHERE id = param2; END $$ PHP是这样的: $stmt = mysqli_prepare($db, 'CALL multiples(?, ?)'); mysqli_stmt_bind_param( $stmt, 'ii', $param1, $param2 ); mysqli_stmt_execute( $stmt ); mysqli_stmt_bind_result( $stmt, $id ); 那么这是我无法工作的部分。 我已经尝试使用mysqli_next_result移动到下一个结果集,但不能得到它的工作。 我们确实让它与mysqli_store_result和mysqli_fetch_assoc / array […]

在Entity Framework中添加存储过程复杂types

我想在entity framework中使用存储过程,不返回任何内容。 我做了以下几点: 添加一个函数(右键单击存储过程 – >添加 – >函数导入 – >复杂types – >获取列信息 – >创build新的复杂types) 我的函数名称: summarySP_Result 。 在构build项目之后,实体类不会在Generated_code ( BusinessAccount.web.g.cs )中Generated_code 但是表和视图的实体类都是创build的,但不是存储过程。 任何人都可以给出这个想法,为什么它不是在BusinessAccount.web.g.cs生成实体类? 更新: 让我确认在XXXXXX.web.g.cs类中创build的ReturnDataFromTemTable_result实体类。 喜欢 : [DataContract(Namespace="http://schemas.datacontract.org/2004/07/BizFramework.Web.Model")] public sealed partial class ReturnDataFromTemTable_Result : Entity { ——————- }

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

我们正处于一个新项目的开始,我们真的想知道是否应该在MySQL中使用存储过程。 我们只会使用存储过程来插入和更新业务模型实体。 有几个表格代表一个模型实体,我们会在这些存储过程的插入/更新中抽象出它。 另一方面,我们可以从Model层调用插入和更新,但不能在MySQL中调用,而是在PHP中调用。 根据你的经验, 哪一个是最好的select? 两种方法的优点和缺点。 在高性能方面哪个是最快的? PS:这是一个大部分阅读和高性能的Web项目是最重要的必要条件。

EF无法从#temp表中select从存储过程select返回模式

假设如下: CREATE PROCEDURE [MySPROC] AS BEGIN CREATE TABLE #tempSubset( [MyPrimaryKey] [bigint] NOT NULL, [OtherColumn] [int] NOT NULL) INSERT INTO #tempSubset (MyPrimaryKey, OtherColumn) SELECT SomePrimaryKey, SomeColumn FROM SomeHugeTable WHERE LimitingCondition = true SELECT MyPrimaryKey, OtherColumn FROM #tempSubset WHERE SomeExpensiveCondition = true END 当我生成一个函数导入或映射返回types时,EF不会生成一个复杂types或告诉我: 所选的存储过程或函数不返回任何列 如何克服这一点? 其他答案build议使用表variables (不会这样做是出于性能原因) 伪造返回模式和注释掉真正的存储过程 ,其他build议做类似的意见 …但必须有一种方法来做到这一点,而不必添加不必要的开销或要求我打破存储过程来更新模型?

哪个更好:即时查询还是存储过程?

假设不pipe用什么原因都不能使用Linq,将查询放在存储过程中是一种更好的做法,还是对数据库执行临时查询(比如说Sql Server)?

在C#中使用存储过程输出参数

我有一个问题,从Sql Server存储过程返回一个输出参数到一个C#variables。 我已经阅读了其他文章,不仅在这里,而且在其他网站上,我不能得到它的工作。 这是我目前有的。 目前我只是试图打印回来的价值。 以下代码返回一个空值。 我试图返回的是主键。 我曾尝试使用@@IDENTITY和SCOPE_INDENTITY() (即SET @NewId = SCOPE_IDENTITY() )。 存储过程: CREATE PROCEDURE usp_InsertContract @ContractNumber varchar(7), @NewId int OUTPUT AS BEGIN INSERT into [dbo].[Contracts] (ContractNumber) VALUES (@ContractNumber) Select @NewId = Id From [dbo].[Contracts] where ContractNumber = @ContractNumber END 打开数据库: pvConnectionString = "Server = Desktop-PC\\SQLEXPRESS; Database = PVDatabase; User ID = sa; PASSWORD […]

将数组传递给MySQL存储的例程

我需要将一个string数组作为parameter passing给MySQL存储例程。 该数组可能会很长,其元素数量不固定。 然后我想把string值放到一列内存表中,这样我就可以处理数据了。 我不知道这是否可以在MySQL中完成。 也许肮脏的解决方法是必要的。 例如,我有香蕉 , 苹果和桔子的string。 现在我想从我的MySQL Fruits表中获取这些水果的数据。 伪代码: create function GetFruits(Array fruitArray) declare @temp table as fruitName varchar(100) end @temp = convert fruitArray to table select * from Fruits where Name in (select fruitName from @temp) end Microsoft SQL Server允许您使用TEXT数据types并将数组作为XMLstring提交,从而快速创build内存表。 但是,我不认为这种技术在MySQL中是可能的。 任何帮助如何做到这一点将不胜感激!

找不到存储过程“dbo.aspnet_CheckSchemaVersion”

我使用WinHost.com来托pipe我的网站。 SQL数据库/成员身份系统在我的本地计算机上完美工作,但是当上传到服务器时,它不起作用。 我已经正确地执行了所有步骤。 我已经联系了我的服务的支持,但已经超过了2周,没有回复。 当我尝试在我的网站上的会员页面上login或注册新用户时,我不断收到此错误。 Server Error in '/' Application. ——————————————————————————– Could not find stored procedure 'dbo.aspnet_CheckSchemaVersion'. Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. Exception Details: System.Data.SqlClient.SqlException: Could not find stored […]

Parameters.Add和Parameters.AddWithValue之间的区别

我读了这里的MSDN文档和示例,并且我知道Paramters.Add调用的正确语法是: command.Parameters.Add("@ID", SqlDbType.Int); command.Parameters["@ID"].Value = customerID; 您必须指定参数名称, SqlDbType和值与.Value 。 现在,一个Parameters.AddWithValue调用的正确语法是: command.Parameters.AddWithValue("@demographics", demoXml); 单行并跳过Type部分。 我的问题是:当我这样做的时候, command.Parameters.Add("@demographics", demoXml); // .Add method with .AddWithValue syntax 我没有得到任何编译错误,甚至更怪,当代码执行时,一切似乎正常工作?

PostgreSQL函数中语言sql和语言plpgsql的区别

在数据库开发中是非常新的,所以我对我的下面的例子有一些怀疑: 函数f1() – 语言sql create or replace function f1(istr varchar) returns text as $$ select 'hello! '::varchar || istr; $$ language sql; 函数f2() – 语言plpgsql create or replace function f2(istr varchar) returns text as $$ begin select 'hello! '::varchar || istr; end; $$ language plpgsql; 这两个函数可以被称为select f1('world')或select f2('world') 。 如果我调用select f1('world') , 输出将是: `hello! world` […]