|Subject||Re: [Firebird-Architect] Exec. statement parameters|
> Alex Peshkov escreveu:Hmm... our assignment and comparison operators already ambigious, isn't is ?
>>> Don't introduce ambiguities with boolean expressions, please. :-)
>> EXECUTE STATEMENT S (a(CURRENT_TRANSACTION), b(CURRENT_CONNECTION));Is it also ambigious with comparison operator ?
>> Does this look better for you?
> No, this is ambiguous with function call syntax.
> I think something more or less:
> EXECUTE STATEMENT S (@a = CURRENT_TRANSACTION, @b = CURRENT_CONNECTION);
> would be ok. And I also want a syntax that could be used to call procedures:Why do we need @ mark here ? For dynamic statement\procedure\function invokation
> select * from sp(@p1 = 1, @p2 = 2)
> But @ is used to denote client parameters in ADO.NET. I think we need
> opinions if this could cause problems.
we have a strict rule : left operand (of "=" operator) is always parameter name. It allow us
to always understand what is written there. Where i am wrong ?
So i still prefer EXEC STMT <sql> (param1 = expr1, ... ) syntax without any additional
parameter markers or ":=" operators. It is very consistent with our existing syntax.