Click here to Skip to main content
15,867,453 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
CREATE PROCEDURE Balu_Cursor
AS
BEGIN
DECLARE @EmptypeID INT
DECLARE @Name VARCHAR(50)
DECLARE @Salary INT
DECLARE @Grade char(1)

DECLARE @TempTable table(
EmpID INT,
Empname varchar,
Salary numeric,
Grade char(1)
)

DECLARE cur_print CURSOR FOR
SELECT Empno,Empname,Salary
FROM tblEmployee OPEN cur_print
FETCH NEXT FROM cur_print INTO @EmptypeID,@Name,@Salary

WHILE @@FETCH_STATUS = 0
BEGIN
insert into @TempTable(EmpID,Empname,Salary,Grade)values(@EmptypeID,@Name,@Salary,@Grade) --where EmpID=@EmptypeID
IF(@Salary>0 and @Salary<100)
SET @Grade= 'A'
ELSE IF(@Salary>100 and @Salary<200)
SET @Grade= 'B'
IF(@Salary>200 and @Salary<300)
SET @Grade= 'C'
ELSE IF(@Salary>300 and @Salary<400)
SET @Grade= 'D'
PRINT @EmptypeID PRINT @Name PRINT @Salary
Select @EmptypeID as EmpNo,@Name Name,@Salary Salary,@Grade Grade from tblEmployee where Empno=@EmptypeID
FETCH NEXT FROM cur_print INTO @EmptypeID,@Name,@Salary
END
CLOSE cur_print
DEALLOCATE cur_print
END


Errro:

Msg 8152, Level 16, State 14, Line 20
String or binary data would be truncated.
The statement has been terminated.
Posted

1 solution

There mismatche in size between @Name and Empname in @TempTable table. Make it same
 
Share this answer
 
Comments
Balu Balaji 20-Jun-13 2:19am    
if i try to use select Query

select * from @TempTable

i am getting this error
Msg 1087, Level 15, State 2, Line 1
Must declare the table variable "@TempTable".

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900