Please start any new threads on our new site at https://forums.sqlteam.com. We've got lots of great SQL Server experts to answer whatever question you can come up with.

 All Forums
 SQL Server 2000 Forums
 SQL Server Development (2000)
 stored procedure

Author  Topic 

php95saj
Starting Member

43 Posts

Posted - 2002-12-10 : 09:12:54
Can anyone interpret this message to me. I am running a stored procedure.

The total row size (9563) for table '#tempTable' exceeds the maximum number of bytes per row (8060). Rows that exceed the maximum number of bytes will not be added.

(3496 row(s) affected)

The total row size (9563) for table '#tempTable' exceeds the maximum number of bytes per row (8060). Rows that exceed the maximum number of bytes will not be added.

(0 row(s) affected)

If I run the query directly on the table it returns reults without any error. But when I try to use the same query within a stored procedure through a Query Analyzer, it doesn't return any records.
However, displays the following message. Any ideas?
Thanks

Sharjeel

nr
SQLTeam MVY

12543 Posts

Posted - 2002-12-10 : 09:20:44
It is creating a temp table with the max possible length of a row greater than 8060 bytes which is invalid.
Everything will still work if the actual data inserted is not greater than 8060 bytes.
Note that things like order by, distincnt, union, group by will probably create temp tables which may be hit by this error (at least they used to - not tested it in v2000).

I guess your question is why does it only return this error in the SP.
Assuming that yuo are running the same query in the SP then it is probably due to a work table and the plan crated for the SP is different from the ad hoc query. You might be abla to get round this by giving a hint - or just changing the query structure.



==========================================
Cursors are useful if you don't know sql.
DTS can be used in a similar way.
Beer is not cold and it isn't fizzy.
Go to Top of Page
   

- Advertisement -