 | Code Snippet 1 |
 |
|
CREATE PROCEDURE [dbo].[USP_search_PassengerFlight]
-- Add the parameters for the stored procedure here
@airportID int,
@flightID int,
@searchCrit1 varchar(4000) = NULL, --passenger last name
@searchCrit2 varchar(4000) = NULL, --passenger first name
@searchCrit3 varchar(4000) = NULL, --passenger email
@searchCrit4 varchar(4000) = NULL, --passenger address
@searchCrit5 varchar(4000) = NULL, --passenger age
@searchCrit6 varchar(4000) = NULL -- passenger phone
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
Declare @unitNumber varchar(4000);
Declare @lastName varchar(4000);
Declare @firstName varchar(4000);
Declare @usrEmail varchar(4000);
Declare @propName varchar(4000);
Declare @usrPhone varchar(4000);
SET @lastName = '%' + @searchCrit1 + '%';
SET @firstName= '%' + @searchCrit2 + '%';
SET @usrEmail = '%' + @searchCrit3 + '%';
SET @usrAddress = '%' + @searchCrit4 + '%';
SET @usrAge = '%' + @searchCrit5 + '%';
SET @usrPhone = '%' + @searchCrit6 + '%';
Declare @whereClause varchar(4000) = NULL;
IF @searchCrit1 IS NOT NULL
BEGIN
SET @whereClause = 'and (( u.lastName LIKE ''' + @lastName + ''' )';
SET @whereClause = @whereClause + ' and ( u.active = 1 ) ';
END
if @whereClause IS NULL
SET @whereClause = '';
IF @searchCrit2 IS NOT NULL
SET @whereClause = @whereClause + ' and ( r.pass_firstName LIKE ''' + @firstName + ''' )';
IF @searchCrit3 IS NOT NULL
SET @whereClause = @whereClause + ' and ( r.pass_email LIKE ''' + @usrEmail + ''' )';
IF @searchCrit4 IS NOT NULL
SET @whereClause = @whereClause + ' and ( r.pass_address LIKE ''' + @usrAddress + ''' )';
IF @searchCrit5 IS NOT NULL
SET @whereClause = @whereClause + ' and ( p.pass_age LIKE ''' + @usrAge + ''' )';
IF @searchCrit6 IS NOT NULL
SET @whereClause = @whereClause + ' and ( r.pass_phone LIKE ''' + @usrPhone + ''' )';
IF @searchCrit1 IS NOT NULL and ( @searchCrit2 IS NOT NULL or @searchCrit3 IS not NULL
or @searchCrit4 IS NOT NULL OR @searchCrit5 IS NOT NULL OR @searchCrit6 IS NOT NULL )
SET @whereClause = @whereClause + ')';
Declare @SQL NVarChar(3000);
-- Insert statements for procedure here
if @airportID = 0
Select @SQL = 'Select
u.flightID,
u.flightTime,
u.flightDestination,
u.flightCity,
u.flightState,
r.pass_firstName,
r.pass_email,
r.pass_address,
r.pass_age,
r.pass_phone,
r.pass_code,
p.airportID,
p.airportName
From units_data u
Inner Join passengers r
ON u.passengerID = r.passengerID
Inner Join airport p
ON u.airportID = p.airportID
Inner Join airlinelinks ul
ON p.airportID = ul.airportID
And ul.flightID = @flightID
Where r.flight_active = 0 ' + @whereClause + '
order by u.flightID'
else
Select @SQL = 'Select
u.flightID,
u.flightTime,
u.flightDestination,
u.flightCity,
u.flightState,
r.pass_firstName,
r.pass_email,
r.pass_address,
r.pass_age,
r.pass_phone,
r.pass_code,
p.airportID,
p.airportName
From units_data u
Inner Join passengers r
ON u.passengerID = r.passengerID
Inner Join airport p
ON u.airportID = p.airportID
Where u.airportID = @airportID
And r.flight_active = 0 ' + @whereClause + '
order by u.flightid'
Exec sp_executesql @SQL, N'@flightID int, @airportID int', @flightID, @airportID
End