Hi
Thanks for the responses. I have a search field in my table that can take any value used to filter a table. The same table holds all types (hardware, paint, etc) in the same structure
Create the table
CREATE TABLE MyDB.MyTable (
part_id INT PRIMARY KEY IDENTITY (1, 1),
part_type_name VARCHAR (255) NULL,
KeySearch1 VARCHAR (255) NULL,
Description VARCHAR(255) NULL
);
Insert data
INSERT INTO MyDB.MyTable (part_type_name, KeySearch1, Description)
VALUES
('SCREWS', '#6', '#6 x 2-1/2in MACHINE SCREW'),
('SCREWS', '#6', '#6 x 2-1/2in MACHINE SCREW'),
('SCREWS', '#8', '#8 x 2-1/2in MACHINE SCREW'),
('SCREWS', '#8', '#8 x 2-1/2in MACHINE SCREW'),
('SCREWS', '#10', '#10 x 2-1/2in MACHINE SCREW');
Stored Proc
USE [MyDB]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROC [dbo].[usp_MyTableSelect]
@part_id int = 0,
@part_type_name varchar(255) = 0,
@KeySearch1 varchar(255) = NULL
AS
SET NOCOUNT ON
SET XACT_ABORT ON
BEGIN TRAN
SELECT dbo.MyTable.part_id, dbo.MyTable.part_type_name, dbo.MyTable.KeySearch1, dbo.MyTable.Description,
FROM dbo.MyTable
WHERE (dbo.MyTable.KeySearch1 = @KeySearch1 or @KeySearch1 = NULL)
COMMIT
-- [dbo].[usp_MyTableSelect] #6
Error
Msg 245, Level 16, State 1, Procedure usp_MyTableSelect, Line 10 [Batch Start Line 19]
Conversion failed when converting the varchar value '#6' to data type int.