Click here to Skip to main content
15,904,817 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
source:

CREATE PROCEDURE Balu_Cursor
AS
BEGIN
DECLARE @EmptypeID INT
DECLARE @Name VARCHAR(50)
DECLARE @Salary INT

DECLARE @TempTable table(
EmpID INT,
Empname varchar,
Salary numeric
)
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)values(@EmptypeID,@Name,@Salary)
PRINT @EmptypeID PRINT @Name PRINT @Salary
Select @EmptypeID as EmpNo,@Name Name,@Salary Salary from tblEmployee where Empno=@EmptypeID
FETCH NEXT FROM cur_print INTO @EmptypeID,@Name,@Salary
END
CLOSE cur_print
DEALLOCATE cur_print
END

ERROR:

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

1 solution

Your temp table and parameters need to have the same data types.

So:

DECLARE @TempTable table(
EmpID INT,
Empname varchar(50),
Salary INT
)
 
Share this answer
 

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