如何在一个mysql存储过程中加入两个表
我写了一个存储过程来执行搜索。在下面的存储过程中,我在参数hpw1, aty1, ind1, rol1, tz1
和输出参数id, hpw, aty, ind, rol, tz
和我的代码如下所示。如何在一个mysql存储过程中加入两个表
当我调用这个存储过程,我得到的结果是由多于一个排的,我不知道我在此代码越来越错了,所以请人提出这个问题的解决方案。
存储过程:
DELIMITER $$
CREATE DEFINER=`Compuser`@`%` PROCEDURE `Equity_Search`(IN hpw1 INT,IN aty1 INT, IN ind1 INT, IN rol1 INT, IN tz1 INT,
OUT id INT, OUT hpw INT , OUT aty INT , OUT ind INT, OUT rol INT, OUT tz INT
)
BEGIN
select e.usr_workfor_equity_usr_id,
e.usr_workfor_equity_hours_per_week,
e.usr_workfor_equity_assignment_type_id,
i.my_usr_workfor_industry_id,
r.my_usr_workfor_role_id,
e.usr_workfor_equity_timezone_id into id,hpw,aty,ind,rol,tz
from my_usr_workfor_equity e
inner join my_usr_workfor_roles r on e.usr_workfor_equity_usr_id = r. my_usr_workfor_usr_id
inner join my_usr_workfor_industries i on e.usr_workfor_equity_usr_id = i. my_usr_workfor_usr_id
where e.usr_workfor_equity_hours_per_week = hpw1hpw1 or
e.usr_workfor_equity_assignment_type_id = aty1 or
i.my_usr_workfor_industry_id = ind1 or
r.my_usr_workfor_role_id = rol1 or
e.usr_workfor_equity_timezone_id = tz1 ;
END
调用存储过程:
call Equity_Search(6,0,0,0,0,@id,@hpw,@aty,@ind,@rol,@tz);
错误:
ErrorCode: 1172 result consisted of more than one row.
一些身体请建议我这个错误,我要去哪里的解决方案代码中出现错误?
感谢
试试这个
using (var conn = new SqlConnection(connectionString))
using (var command = new SqlCommand("ProcedureName", conn) {
CommandType = CommandType.StoredProcedure })
{
conn.Open();
command.ExecuteNonQuery();
conn.Close();
}
第一StoredProcedure的创建和执行it.Then改变“创造改变”,在存储过程中
create ProcedureName
as
begin
select column1,column2.. from table1
join table2 on condition
end
谢谢,非常感谢您的回复,它真的帮助....! – user1568738
你可以告诉我'connectionString'来自哪个项目。 – user1568738
http://stackoverflow.com/questions/7785769/connection-string-for-mysql-vs2010-pro-asp-net-mvc3这里提到 – SRIRAM
你是怎么做到这一点已经失败你有想过为什么? –
请仔细阅读[** FAQ **](http://stackoverflow.com/faq),然后再问。 –