Я использую рельсы 3, и мне нужно выполнить raw sql в одном из моих переносов, и мне нужно сделать это с помощью подготовленного оператора, поскольку это лучший способ избежать проблем, возникающих из-за одиночного , заявление или так далее. Есть ли способ, когда я могу выполнять несколько операторов sql в одном выражении для подготовки. Я использую PostgreSQL для моей базы данныхВставка нескольких команд в подготовленные рельсы объявлений
Вот мой код, что я пытался
CONN = ActiveRecord::Base.connection.raw_connection
sql = %Q[
INSERT INTO table1
(
name,
email,
phone,
created_at,
updated_at
)
VALUES
(
$1,
$2,
$3,
current_timestamp,
current_timestamp
);
UPDATE table2
SET column_1 = $1
WHERE id = $4;
UPDATE contacts SET
column_2 = $2
WHERE id = $4
]
CONN.prepare('insert_and_update', sql)
CONN.exe_prepared('insert_and_update', [
name,
email,
phone,
customer.id
])
Но я получаю ошибку как
cannot insert multiple commands into a prepared statement
Что делать, если я хочу что-то вроде 'set local intervalstyle = postgres_verbose;'? Он не может перейти в CTE. – mlt