我正在阅读一段看起来像这样的 SQL 代码:
SELECT INTO _user tag FROM login.user WHERE id = util.uuid_to_int(_user_id)::oid;
这个到底是做什么的?使用SELECT INTO的通常方式需要在SELECT标记之后指定要选择的列,例如:
SELECT * INTO _my_new_table WHERE ...;
数据库是postgresql。
我正在阅读一段看起来像这样的 SQL 代码:
SELECT INTO _user tag FROM login.user WHERE id = util.uuid_to_int(_user_id)::oid;
SELECT * INTO _my_new_table WHERE ...;
数据库是postgresql。
这行代码必须出现在PL/pgSQL函数内部。在该上下文中,从列tag
的值赋给变量_user
。
根据文档:
提示:请注意,此处SELECT INTO的解释与PostgreSQL常规的SELECT INTO命令完全不同,后者的INTO目标是新创建的表。
和
INTO子句几乎可以出现在SQL命令的任何位置。通常,在SELECT命令中的select_expressions列表之前或之后编写它,或在其他命令类型的命令末尾编写它。建议您遵循此约定,以防PL/pgSQL解析器在将来的版本中变得更加严格。