can changing existing parameter of stored procedure output parameter have impact on existing code?
for context, have stored procedure accepts , modifies parameter, returning modified parameter selecting it. c# callers receive returned parameter via sqlcommand.executereader.
the stored procedure looks this:
create procedure upsertdata @objectid int, --this line change ... if not exists (select objectid mytable objectid = @objectid) begin insert mytable (...) values (...) set @objectid = (select scope_identity() int) end else begin update mytable set ... objectid=@objectid end select @objectid i intend call stored procedure within other stored procedures. using insert-exec allow me avoid modifying upsertdata, used in several places.
however, strikes me cleaner replace @objectid int, @objectid int output,. unsure if safe; stored procedure called in many places, fear might break in unanticipated fashion. is legitimate concern?
it seems safe.
from https://technet.microsoft.com/en-us/library/ms187004%28v=sql.105%29.aspx :
you can execute stored procedure output parameters , not specify output when executing stored procedure. no error returned, cannot use output value in calling program.
Comments
Post a Comment