That's what I am doing.  Thanks, I just wanted to be sure I did not miss 
anything.


On Friday, May 24, 2019 at 10:21:06 AM UTC-4, Jeremy Evans wrote:
>
> On Friday, May 24, 2019 at 6:48:52 AM UTC-7, Allan Peda wrote:
>>
>> Hi,
>>
>> I am using Sequel mostly for the convenience of bind variables (with 
>> MSSQL/tiny_tds).
>>
>> I see positional binds are possible with a straight SQL call, as in:
>>
>> arr = [33, 26, 33]
>> sth = dbh['insert into mytab(a, b, c) values (?, ?, ?)', *arr]
>> sth.call(:insert)
>>
>> Is there any way to set the binds from an array when *calling* the 
>> prepared statement?  
>>
>> Something like this??:
>>
>> sth = dbh['insert into mytab(a, b, c) values (?, ?, ?)']
>> records.each |row|
>>   # I do not believe this is possible
>>   sth.call(:insert, *row)
>> end
>>
>> I have some data loads that would be a lot simpler if I could just use an 
>> array that provided binds in the same order as the statement rather than 
>> going through symbols and a a hash.
>>
>
> First, neither example is actually using a prepared statement. In the 
> first example, the values are interpolated into the query (this is Sequel's 
> default behavior), and in the Sequel example, ? appear as literal values in 
> the query.  Sequel does support what you want to do using prepared 
> statements, using a different syntax:
>
> sth = dbh['insert into mytab(a, b, c) values (?, ?, ?)', :$a1, :$a2, 
> :$a3].prepare(:insert, :insert_mytab)
> records.each do |row|
>   sth.call(:a1=>row[0], :a2=>row[1], :a3=>row[2])
> end
>
> See the prepared statement guide for details: 
> http://sequel.jeremyevans.net/rdoc/files/doc/prepared_statements_rdoc.html
>
> Thanks,
> Jeremy
>

-- 
You received this message because you are subscribed to the Google Groups 
"sequel-talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/sequel-talk.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sequel-talk/315eb587-53d5-406a-821f-b7226f7e3648%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to