Is it possible to convert rowset variables to scalar value for eg.
@maxKnownId =
SELECT MAX(Id) AS maxID
FROM @PrevDayLog;
DECLARE @max int = @maxKnownId;
Is it possible to convert rowset variables to scalar value for eg.
@maxKnownId =
SELECT MAX(Id) AS maxID
FROM @PrevDayLog;
DECLARE @max int = @maxKnownId;
Thanks for input, below is the business cases -
We have catalog data coming from source for which we need to generate unique ids. With
ROW_NUMBER() OVER() AS Id
method we can generate unique id. But while merging new records it changes ids of existing records also and causes issues with relational dataBelow is simple solutions
There is no implicit conversion of a single-cell rowset to a scalar value in U-SQL (yet).
What are you interested in using the value for?
Most of the time you can write your U-SQL expression in a way that you do not need the scalar variable. E.g., if you want to use the value in a condition in another query, you could just use the single value rowset in a join with the other query (and with the right statistics, I am pretty sure that the optimizer would turn it into a broadcast join).
If you feel you cannot easily write the expression without the rowset to a scalar, please let us know via http://aka.ms/adlfeedback by providing your scenario.