存储过程错误 [英] Store procedure error

查看:86
本文介绍了存储过程错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

错误:将数据类型varchar转换为int.

Error: converting data type varchar to int.

ALTER PROCEDURE [dbo].[SP_City]
(

@CityID int = null,
@Flag int = 0,
@WhereCondition varchar(200)=null,
@OrderByExpression varchar(20)=null

)
AS 
SET NOCOUNT ON 
BEGIN


ELSE IF @Flag =  4  -- SELECT ALL 
	BEGIN 
	  
	 declare @Query varchar(200);
	 set @Query='Select *from City WHERE ' +@WhereCondition+ ' ORDER BY ' +@OrderByExpression;	
     exec SP_City @Query 
	 
	END 

ELSE IF @Flag =  5  -- SELECT SINGLE 
	BEGIN 
	 -- Select Particular Record  Block here
	Select * FROM City WHERE CityID = @CityID 
	END 
END

推荐答案


尝试以下操作:
Hi,
Try this:
ALTER PROCEDURE [dbo].[SP_City]
( 
    @CityID int = null,
    @Flag int = 0,
    @WhereCondition varchar(200)=null,
    @OrderByExpression varchar(20)=null 
)
AS 
SET NOCOUNT ON 
BEGIN
 

ELSE IF @Flag =  4  -- SELECT ALL 
	BEGIN 	  
	   declare @Query varchar(200);
	   set @Query='Select *from City WHERE ' +@WhereCondition+ ' ORDER BY ' +@OrderByExpression;	
           EXEC (@Query) --Here was the error.
	END 
 
ELSE IF @Flag =  5  -- SELECT SINGLE 
	BEGIN 
	   -- Select Particular Record  Block here
	   Select * FROM City WHERE CityID = @CityID 
	END 
END




--Amit




--Amit


这篇关于存储过程错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆