为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。 【DM版本】:v8 【操作系统】:麒麟v10 【CPU】:鲲鹏 【问题描述】*:不支持临时变量查询。常见场景A表插入后返回A表的ID作为临时变量,然后插入到B表。 在MySQL中,定义变量可以直接赋值和查询,但是在达梦中不支持,应该要怎么写 如: MySQL中: SET @order_id=123; SELECT @order_id; 但是以上写法,在达梦中报错,要如何修改?
在达梦数据库中,你可以使用RETURNING INTO子句来获取刚插入行的ID,并将其存储在DM/SQL的变量中。 create table a(id int); create table b(id int);
RETURNING INTO
DECLARE v_order_id NUMBER; BEGIN INSERT INTO A (id) VALUES (1) RETURNING id INTO v_order_id;
INSERT INTO B (id) VALUES (v_order_id);
-- 如果需要输出ID DBMS_OUTPUT.enable; DBMS_OUTPUT.PUT_LINE('Order ID: ' || v_order_id); END;
在达梦数据库中,你可以使用
RETURNING INTO
子句来获取刚插入行的ID,并将其存储在DM/SQL的变量中。create table a(id int);
create table b(id int);
DECLARE
v_order_id NUMBER;
BEGIN
INSERT INTO A (id)
VALUES (1)
RETURNING id INTO v_order_id;
INSERT INTO B (id)
VALUES (v_order_id);
-- 如果需要输出ID
DBMS_OUTPUT.enable;
DBMS_OUTPUT.PUT_LINE('Order ID: ' || v_order_id);
END;