postgresql - Postgres SQL - 将子句输出到标量变量
问题描述
对于 SQL 服务器中的以下代码,需要将其转换为 PostgresSQL。我确实尝试了与 SQL Server 中相同的方法,但它确实有效。
declare @ID table (ID int)
insert into MyTable(ID)
output inserted.ID into @ID
values (1)
所以上面的代码在 SQL server 中运行良好,但在 Postgres 中它不起作用。
有人可以帮助将此代码转换为 Postgres 吗?也有人可以帮助我在 Postgres 中获取带有 inout 和 out 参数的示例 SP。
解决方案
假设这是用 PL/pgSQL 编写的存储函数(或过程)的一部分,您可以使用手册中记录的返回子句:
....
declare
l_generated_id int;
begin
...
insert into my_table(id)
values (1)
returning id into l_generated_id;
...
end;
但我不得不承认这似乎相当不必要,因为插入的值是在 INSERT 语句中硬编码的
推荐阅读
- flutter - 带有单个标签的颤振范围滑块
- python - Python folium 地图开发
- botframework - 在 msteams 中安装 bot 时在弹出窗口中显示自适应卡(使用选项卡配置 url)
- arrays - 如何找到一个值,查看是否等于另一个值并打印 is row vba 的值
- javascript - 使用 Javascript 应用优惠券代码
- java - 在 Unity3d 场景中显示来自 Android 的 VR 360 视频
- mysql - 调用 mysql 查询依赖于节点中的另一个查询
- amazon-web-services - 我可以从本地主机上传到 AWS S3,但不能从我的 AWS Elastic BeanStalk 实例上传?
- unit-testing - 使用 FakeItEasy 对 SUT 进行虚假内部调用
- excel - 数组没有按 AZ 排序?