sql - Postgres Sql 插入使用开始异常块错误
问题描述
我正在使用开始异常块的查询它在插入附近给我语法错误这是我的查询
BEGIN
INSERT INTO public.role(
id, "RoleName")
VALUES (1, 'SomeRole')
RETURNING id as roleid;
EXCEPTION
RETURNING -1 as roleid
END
select roleid
解决方案
这不是使用PostgreSql的方法。您只能使用“从提交开始” 。
这是您可以遵循的语法
BEGIN;
INSERT INTO public.role(
id, "RoleName")
VALUES (1, 'SomeRole')
RETURNING id as roleid;
COMMIT;
这里的BEGIN块将自动回滚您的事务。您也可以通过这样做返回最后插入的角色标识。
推荐阅读
- linux - 来自外部镶木地板项目的静态库的“未定义引用”错误
- ios - 如何将 NSExtension 和 UNNotificationExtensionCategory 键添加到 Info.plist?
- c - 分段错误:在 Mac 上为 11,但在 Linux 上没有,同时在 C 中创建数组
- javascript - 如何在 mongodb 中创建将输入保存为 html 的 Mongoose 模式
- angularjs - 是否可以使用为 AngularJS 编写的第三方组件在 Angular2+ 中使用而无需转换?
- c++ - 在 C++ 中通过模板包重新创建函数签名和调用
- java - 将 Oracle 合并转换为 MySQL 更新
- php - php中的睡眠功能导致我的页面挂起
- javascript - 如何使用 JavaScript 从 Android 应用程序中的 WebView 发送 ajax 请求
- r - 有没有一种快速的方法来修改 R 中嵌套列表的一致组件?