| 2018.8.29 | SQLServer |
1.
CREATE PROCEDURE [dbo].[Test_Get_PersonInfo]
@PSNCODE nvarchar(100)='',
@NESTLECODE nvarchar(100)='',
@PSNNAME nvarchar(100)='',
@GZ nvarchar(100)='',
@INDATE_B nvarchar(100)='1900-01-01',
@INDATE_E nvarchar(100)='1900-01-01',
@PSNCLASSCODE nvarchar(100)='',
@DEPTCODE nvarchar(100)='',
@DEPTNAME nvarchar(100)='',
@JOBCODE nvarchar(100)='',
@JOBNAME nvarchar(100)='',
@STATUS varchar(1)=''
AS
BEGIN
declare @cdn nvarchar(1000) = ' where 1=1';
if @PSNCODE != ''
set @cdn = @cdn + ' and PSNCODE=''' + @PSNCODE + '''';
if @NESTLECODE != ''
set @cdn = @cdn + ' and NESTLECODE=''' + @NESTLECODE + '''';
if @PSNNAME != ''
set @cdn = @cdn + ' and PSNNAME like ''%' + @PSNNAME + '%''';
if @GZ != ''
set @cdn = @cdn + ' and GZCODE like ''%' + @GZ + '%''';
if @INDATE_B != ''
set @cdn = @cdn + ' and INDATE >= ''' + @INDATE_B + '''';
if @INDATE_E != ''
set @cdn = @cdn + ' and INDATE <= ''' + @INDATE_E + '''';
if @PSNCLASSCODE != ''
set @cdn = @cdn + ' and PSNCLASSCODE = ''' + @PSNCLASSCODE + '''';
if @DEPTCODE != ''
set @cdn = @cdn + ' and DEPTCODE = ''' + @DEPTCODE + '''';
if @DEPTNAME != ''
set @cdn = @cdn + ' and DEPTNAME like ''%' + @DEPTNAME + '%''';
if @JOBCODE != ''
set @cdn = @cdn + ' and JOBCODE = ''' + @JOBCODE + '''';
if @JOBNAME != ''
set @cdn = @cdn + ' and JOBNAME like ''%' + @JOBNAME + '%''';
if @STATUS != ''
set @cdn = @cdn + ' and STATUS = ''' + @STATUS + '''';
set @cdn = 'SELECT *,GZCODE as GZ,GZNAME as GZN from SysPerson' + @cdn;
print @cdn;
exec sp_executesql @cdn;
END
更新列表:
*
参考文章:
[2]: [3]: [4]: