根据如下条件写出了如下存储过程:
if (注册号 != "")
{
if (注册号 == pre_database表里面的注册号)
{
if (联系电话 == Pre_database_phone表中的的ph电话)
{
//返回状态为0
}
else
{
//返回状态为1
}
}
else
{
//返回状态为2
}
}
我写的过程如下:
CREATE PROCEDURE [dbo].[Up_Pretreatment_registerNo]
@strSQL nvarchar(max)
AS
declare @sql nvarchar(max)
set @sql='select t1.工商注册号 as 导入工商注册号,
t1.联系电话 as 导入电话,
t1.客户名称 as 导入客户名称,
t1.联系人 as 导入联系人,
t1.备注 as 导入备注,
t2.工商注册号 as 库内工商注册号,
t2.客户ID as 库内客户ID,
t3.ph as 库内电话,
case when t2.客户ID is not null and t3.ph is not null then 0 when t2.客户ID is not null and t3.ph is null then 1
when t2.客户ID is null then 2 end as 状态
from ('+@strSQL+'
) t1
left join pre_database t2 on t1.工商注册号=t2.工商注册号
left join pre_database_phone t3 on t2.客户ID=t3.客户ID and t3.ph=t1.联系电话
group by t1.工商注册号,t1.联系电话,t2.工商注册号,t3.ph,t2.客户ID,t1.客户名称,t1.联系人,t1.备注,
case when t2.客户ID is not null and t3.ph is not null then 0 when t2.客户ID is not null and t3.ph is null then 1
when t2.客户ID is null then 2 end'
exec(@sql)
但是我要根据下面这个条件写存储过程怎么写啊?
if (pre_database表客户名称统计 == 1) // select count(客户名称) from Pre_database where 客户名称=''
{
if (联系电话 == Pre_database_phone表中的ph)
{
//返回状态为0
}
else
{
//返回状态为1
}
}
else if (pre_database表客户名称统计 > 1)
{
//返回状态为3
}
------解决思路----------------------
我猜其他人也不明白你想表达什么
------解决思路----------------------
+1
------解决思路----------------------
+1
------解决思路----------------------
--参数定义(存储过程参数)
Declare @CName NVarchar(100),
@PhoneNum NVarchar(20)
/********** 以下代码可看做存储过程业务 **********/
If (Select COUNT(1) From Pre_database With(NoLock) Where 客户名称 = @CName) = 1
Begin
If (Select COUNT(1) From Pre_database_phone Where PH = @PhoneNum) = 1
Begin
Print 0
End
Else Begin
Print 1
End
End
Else Begin
Print 3
End
把PRINT改成RETURN就可以