August 28, 2012 at 8:30 am
i've below query to display the project_name column based on the search.
here i am passing parameters manually,
i want to develop a stored procedure using below query and pass parameter dynamically,
can any one help me....plz
Eg: Catalog
column displays records having (catalog groups1, zet catalog, business catalog)
eg : 20*catalog
column displays records having (2012 catalog, 2012 year passout catalog)
declare @sstrg varchar(100) = '20*Catalog',
--declare @strg varchar(100) = 'Catalog',
@sstring varchar(100),
@sstrg1 varchar(100),
@sstrg2 varchar(100)
begin
set @sstring = @sstrg
if @sstring like '%*%'
begin
set @sstrg1= (SELECT PARSENAME(REPLACE(@sstring, '*', '.'), 1))
set @sstrg2= (SELECT PARSENAME(REPLACE(@sstring, '*', '.'), 2))
----print @strg2
----print @strg1
SELECT project_name FROM groups WHERE project_name like '%'+@sstrg2+'%'+@sstrg1+'%'
end
else
begin
SELECT project_name FROM groups WHERE project_name like '%'+@sstring+'%'
end
end
I WANT TO PASS LIKE
EXEC STORED_PROC_NAME 'catalog'
EXEC STORED_PROC_NAME '20*catalog'
Please help me....
August 28, 2012 at 8:40 am
The layout for a store procedure is like this:
create procedure dbo.STORED_PROC_NAME
(
@sstrg varchar(100)
)
as
begin
set nocount on;
--declare @strg varchar(100) = 'Catalog',
declare
@sstring varchar(100),
@sstrg1 varchar(100),
@sstrg2 varchar(100)
begin
set @sstring = @sstrg
if @sstring like '%*%'
begin
set @sstrg1= (SELECT PARSENAME(REPLACE(@sstring, '*', '.'), 1))
set @sstrg2= (SELECT PARSENAME(REPLACE(@sstring, '*', '.'), 2))
----print @strg2
----print @strg1
SELECT project_name FROM groups WHERE project_name like '%'+@sstrg2+'%'+@sstrg1+'%'
end
else
begin
SELECT project_name FROM groups WHERE project_name like '%'+@sstring+'%'
end
end
end
August 28, 2012 at 9:18 am
Too complicated. Keep it simple.
create procedure dbo.STORED_PROC_NAME
(
@sstrg varchar(100)
)
as
begin
set nocount on;
--declare @strg varchar(100) = 'Catalog',
set @sstrg = '%' + REPLACE( @sstrg, '*', '%') + '%'
SELECT project_name
FROM groups
WHERE project_name like @sstrg
end
August 28, 2012 at 9:48 am
Luis Cazares (8/28/2012)
Too complicated. Keep it simple.
create procedure dbo.STORED_PROC_NAME
(
@sstrg varchar(100)
)
as
begin
set nocount on;
--declare @strg varchar(100) = 'Catalog',
set @sstrg = '%' + REPLACE( @sstrg, '*', '%') + '%'
SELECT project_name
FROM groups
WHERE project_name like @sstrg
end
Or even simpler:
create procedure dbo.STORED_PROC_NAME
(
@sstrg varchar(100)
)
as
begin
set nocount on;
SELECT project_name
FROM groups
WHERE project_name like '%' + REPLACE(@sstrg, '*', '%') + '%'
end
Viewing 4 posts - 1 through 4 (of 4 total)
You must be logged in to reply to this topic. Login to reply