小弟SQL 不怎么好。想写个存储过程用于搜索!可总报错。先问一下是不是存储过程的问题!
请高人指点!!CREATE PROCEDURE UP_tbl_User_GetSearchList
(
@Userid int =NULL,
@Username varchar(100) =NULL,
@U_NickName varchar(100) =NULL,
@U_RealName varchar(100) =NULL,
@Usersext int = NULL,
@Starttime varchar(100) =NULL,
@Endtime varchar(100) =NULL
)
AS
DECLARE @SQL varchar(100)
set @SQL ='SELECT
[U_Id],[U_UserName],[U_Password],[U_NickName],[U_IsActivation],[U_Pd_Question],[U_Pd_Answer],[U_RealName],[U_Birthday],[U_Sex],[U_Register_Date]
FROM tbl_User'
IF @Userid is NOT NULL AND NOT @Userid =''
set @SQL = @SQL+'where @Userid = '+@Userid IF @Username is NOT NULL AND NOT @Username =''
set @SQl = @SQL +' and @Username=' +@UsernameIF @U_RealName is NOT NULL AND NOT @U_RealName =''
set @SQl = @SQL +' and @U_RealName=' +@U_RealNameIF @U_NickName is NOT NULL AND NOT @U_NickName =''
set @SQL = @SQL + ' and @U_NickName=' + @U_NickNameIF @Usersext is NOT NULL AND NOT @Usersext =''
set @SQL = @SQL + 'and @Usersext =' +@UsersextIF @Starttime is NOT NULL AND NOT @Starttime =''
set @SQL = @SQl + 'U_Register_Date>=' +@StarttimeIF @Endtime is NOT NULL AND NOT @Endtime =''
set @SQL = @SQL +'U_Register_Date<='+@EndtimeEXEC(
@SQL
)
GO
请高人指点!!CREATE PROCEDURE UP_tbl_User_GetSearchList
(
@Userid int =NULL,
@Username varchar(100) =NULL,
@U_NickName varchar(100) =NULL,
@U_RealName varchar(100) =NULL,
@Usersext int = NULL,
@Starttime varchar(100) =NULL,
@Endtime varchar(100) =NULL
)
AS
DECLARE @SQL varchar(100)
set @SQL ='SELECT
[U_Id],[U_UserName],[U_Password],[U_NickName],[U_IsActivation],[U_Pd_Question],[U_Pd_Answer],[U_RealName],[U_Birthday],[U_Sex],[U_Register_Date]
FROM tbl_User'
IF @Userid is NOT NULL AND NOT @Userid =''
set @SQL = @SQL+'where @Userid = '+@Userid IF @Username is NOT NULL AND NOT @Username =''
set @SQl = @SQL +' and @Username=' +@UsernameIF @U_RealName is NOT NULL AND NOT @U_RealName =''
set @SQl = @SQL +' and @U_RealName=' +@U_RealNameIF @U_NickName is NOT NULL AND NOT @U_NickName =''
set @SQL = @SQL + ' and @U_NickName=' + @U_NickNameIF @Usersext is NOT NULL AND NOT @Usersext =''
set @SQL = @SQL + 'and @Usersext =' +@UsersextIF @Starttime is NOT NULL AND NOT @Starttime =''
set @SQL = @SQl + 'U_Register_Date>=' +@StarttimeIF @Endtime is NOT NULL AND NOT @Endtime =''
set @SQL = @SQL +'U_Register_Date<='+@EndtimeEXEC(
@SQL
)
GO
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货