You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PL/pgSQL中SELECT...INTO语法合规性咨询及官方依据求证

PL/pgSQL中SELECT INTO的位置是否合规?

你的写法完全正确,PostgreSQL的PL/pgSQL支持两种SELECT INTO的语法格式:

  • 一种是将INTO子句放在SELECT列表之后(即你使用的写法)
  • 另一种是将INTO子句放在FROM子句之前

官方依据(PostgreSQL文档说明)

PostgreSQL官方文档中关于PL/pgSQL的SELECT INTO语法明确指出:

SELECT可以用两种方式把结果存入变量:要么使用SELECT ... INTO,要么将INTO子句放在SELECT目标列表之后。两种写法在功能上等价,都是将查询结果的第一行赋值给指定变量。

语法验证对比

你的原SELECT语句:

SELECT allergy FROM drugallergy into is_allergic WHERE NEW.drug = drugallergy.allergy AND NEW.patient = drugallergy.patient;

和老师提及的写法:

SELECT into is_allergic allergy FROM drugallergy WHERE NEW.drug = drugallergy.allergy AND NEW.patient = drugallergy.patient;

均为PostgreSQL认可的合法语法,在PL/pgSQL环境中均可正常执行。

补充说明

部分SQL方言(如Oracle的PL/SQL)仅支持INTO放在SELECT之后的写法,但PostgreSQL为兼容不同开发习惯,同时支持两种位置的INTO子句。

内容的提问来源于stack exchange,提问作者enderluca03

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 23:01:37