心情日记 今天写的存储过程遇见的问题
2007-11-13 10:30
323 查看
--声明
USE ActiveInteractionData
go
drop PROCEDURE haoma
GO
CREATE PROCEDURE haoma
(
@CallFromNumber varchar(64),
@CallToNumber varchar(64),
@call varchar(64) OUTPUT
)
AS
IF exists(
SELECT top 1 CallFromNumber
FROM tblCallSummary
WHERE tblCallSummary.CallFromNumber=@CallFromNumber order by CallSummaryId desc )
begin
set @call=
(SELECT top 1 Agent2DeviceID
FROM tblCallSummary
where CallFromNumber=@CallFromNumber order by CallSummaryId desc)
end
else
begin
set @call =(select VDNNumber
from RoutingTable
where DID=@CallToNumber)
end
--执行
DECLARE @call varchar(64)
EXEC haoma '0966322796','33188004',@call OUTPUT
SELECT 'xingm'=@call
GO
--说明 该存储过程是为了实现电话的只能跟随设计的 '0966322796','33188004' 是传入的号码和VDN 如果在数据库的表tblCallSummary里面找到找到该电话,就把接该电话的坐席员赋给返回返回值,表明找到了接电话的人
如果没有找到该号码说明第一次打该电话 把vdn赋给该值33188004对应的有vdn 主要要加引号 表明传的是字符串
后来客户要求改 他们传的是数值 我就做了以下更改
这样存在一个问题 就是在数值转换的时候 你传的0966322796 在传给数值的形式参数的时候,会自动把0去掉造成找不到该号码
USE ActiveInteractionData
go
drop PROCEDURE haoma
GO
CREATE PROCEDURE haoma
(
@CallFromNumber varchar(64),
@CallToNumber varchar(64),
@call varchar(64) OUTPUT
)
AS
IF exists(
SELECT top 1 CallFromNumber
FROM tblCallSummary
WHERE tblCallSummary.CallFromNumber=@CallFromNumber order by CallSummaryId desc )
begin
set @call=
(SELECT top 1 Agent2DeviceID
FROM tblCallSummary
where CallFromNumber=@CallFromNumber order by CallSummaryId desc)
end
else
begin
set @call =(select VDNNumber
from RoutingTable
where DID=@CallToNumber)
end
--执行
DECLARE @call varchar(64)
EXEC haoma '0966322796','33188004',@call OUTPUT
SELECT 'xingm'=@call
GO
--说明 该存储过程是为了实现电话的只能跟随设计的 '0966322796','33188004' 是传入的号码和VDN 如果在数据库的表tblCallSummary里面找到找到该电话,就把接该电话的坐席员赋给返回返回值,表明找到了接电话的人
如果没有找到该号码说明第一次打该电话 把vdn赋给该值33188004对应的有vdn 主要要加引号 表明传的是字符串
后来客户要求改 他们传的是数值 我就做了以下更改
--声明存储过程 USE ActiveInteractionData go drop PROCEDURE haoma GO CREATE PROCEDURE haoma ( @CallFromNumber bigint, @CallToNumber bigint, @call varchar(64) OUTPUT ) AS IF exists( SELECT top 1 CallFromNumber FROM tblCallSummary WHERE CallFromNumber = convert(varchar(64),@CallFromNumber) order by CallSummaryId desc ) begin set @call= (SELECT top 1 Agent2DeviceID FROM tblCallSummary where CallFromNumber = convert(varchar(64),@CallFromNumber) order by CallSummaryId desc) end else begin set @call =(select VDNNumber from RoutingTable where DID=@CallToNumber) end --执行改过程 DECLARE @call varchar(64) EXEC haoma 0966322796,33188004,@call OUTPUT SELECT 'xingm'=@call GO
这样存在一个问题 就是在数值转换的时候 你传的0966322796 在传给数值的形式参数的时候,会自动把0去掉造成找不到该号码
相关文章推荐
- 今天根据PDM创建数据表遇见的问题
- 今天遇见这个问题了,存档。
- 今天遇见的一个问题xml格式的字符串,有办法直接的解析吗
- 今天创建工程遇见的问题
- 今天启动项目遇见的问题
- 记录今天遇见的oracle ora-00060死锁问题
- 关于页面图表相应式的问题,问题遇见时间,9月1日,到今天9月2日,尚未解决
- 今天碰到一个很奇怪的问题,关于存储过程,留下以后用
- 转一篇文章,因为今天正好遇到这个问题
- 今天发现之前录制的视频声音的噪音都很大,我后期要注意下这个问题。
- 今天烦死了,各种技术,各种问题,全栈式多屏工程师不好做啊
- 今天学习css发现line-height和vertical-align,和基线等问题
- ECLIPSE下部署tomcat时遇见的一些问题
- 今天遇到的一个奇葩的NoClassFound的问题
- Jni开发所遇见的问题
- 今天搞log4net插入错误日志去mysql数据库的时候出现了点问题,已解决。记录下解决方案
- OCX开发遇见的问题及解决方法
- 今天遇到一个mysql锁表问题
- 起一卦,测今天工作,问题不少
- 今天发现CSDNBLOG有点问题。