在将新值插入数据集时,我想使用 SQL 函数。但是,我不断收到TypeError: can't convert Sequel::SQL::Function into String
错误。Sequel 文档解释了如何使用函数进行选择,而不是插入。
理想情况下,我想避免DB.run
,因为我是动态插入的,并且原始 SQL 混乱且不灵活。
这就是我想要做的:
INSERT INTO dataset (col1, col2, col3) VALUES ('something', 3, func(value))
这就是我在续集中所拥有的:
x = 'something'
y = 3
func_value = Sequel.function(:func, value)
DB[:dataset].insert (:col1 => x, :col2 => y, :col3 => func_value)
这可能吗?如果是这样,我错过了什么?