Why I cannot get return value from the stored procedure in SQL Server 2008?
I have a stored procedure like this,

    USE MyTable
    GO
    CREATE PROCEDURE h_sp_find_exist
	@in_name varchar,@in_counterparty varchar,
	@out_recordsNum int OUTPUT
    AS
    BEGIN
	SELECT @out_recordsNum = COUNT(*)
		FROM TMyTable
		WHERE Name=@in_name AND Counterparty=@in_counterparty
	RETURN @out_recordsNum 
    END

I always get 0 from the return value.
What's wrong with it?

The execute code:  
    
    use MyTable
    go
    declare @retRecordNum int
    execute h_sp_find_exist 'myName', '50139', @retRecordNum OUTPUT
    select @retRecordNum as 'RecordNumber'

if I just run the sql code, 
select count (*)
where name='myName' and counterparty='50139', it works, and result is 1
Why I cannot get return value from the stored procedure in SQL Server 2008?
===

I have a stored procedure like this,

    USE MyTable
    GO
    CREATE PROCEDURE h_sp_find_exist
	@in_name varchar,@in_counterparty varchar,
	@out_recordsNum int OUTPUT
    AS
    BEGIN
	SELECT @out_recordsNum = COUNT(*)
		FROM TMyTable
		WHERE Name=@in_name AND Counterparty=@in_counterparty
	RETURN @out_recordsNum 
    END

I always get 0 from the return value.
What's wrong with it?

The execute code:  
    
    use MyTable
    go
    declare @retRecordNum int
    execute h_sp_find_exist 'myName', '50139', @retRecordNum OUTPUT
    select @retRecordNum as 'RecordNumber'

if I just run the sql code, 
select count (*)
where name='myName' and counterparty='50139', it works, and result is 1