PostgreSQL 10 Rowtype 功能错误?
PostgreSQL 10 Rowtype Bug in Function?
我在函数内部声明如下:
SEL_USER APP.USER % ROWTYPE;
然后我做了 select
工作完美:
SELECT *
INTO SEL_USER
FROM APP.USER
WHERE ...
但这不起作用,我不知道原因。
也许是 postgresql 错误?
SELECT USER_ID, OFFICE_FK, LOCKER, EMAIL, FULL_NAME, SURNAME1
SURNAME2, SOCIAL_CARD, BIRTHDATE, PREFERENCES
INTO SEL_USER
FROM APP.USER
WHERE ...
澄清一下:
- Where 语句相同并且有效。
- 没有字段错误,因为如果我在没有 into 的情况下执行 select 它会起作用。
发生了什么事?
- 正在更改字段,例如:
- locker_id被赋值为social_card(我验证了值是该去的地方)
- 某些字段为空(这是不可能的,因为它们被声明为非空)
这是 postgresql 10 错误还是我做错了什么?
万一我做错了什么,如果你能帮助我,我将不胜感激。
(原谅我的英文)
我真的不知道为什么它只给我那个功能的问题,
也许这是一些上下文问题,因为在其他情况下,顺序或是否缺少任何列都无关紧要。
通过排序和使用 'as'
来修复它
SELECT U.USER_ID, U.OFFICE_FK, U.LOCKER, U.SOCIAL_CARD, U.EMAIL,
U.FULL_NAME, U.SURNAME1, U.SURNAME2, U.BIRTHDATE, U.PREFERENCES
INTO SEL_USER
FROM APP.USER AS U
WHERE ...;
感谢您的宝贵时间:)
我在函数内部声明如下:
SEL_USER APP.USER % ROWTYPE;
然后我做了 select
工作完美:
SELECT *
INTO SEL_USER
FROM APP.USER
WHERE ...
但这不起作用,我不知道原因。 也许是 postgresql 错误?
SELECT USER_ID, OFFICE_FK, LOCKER, EMAIL, FULL_NAME, SURNAME1
SURNAME2, SOCIAL_CARD, BIRTHDATE, PREFERENCES
INTO SEL_USER
FROM APP.USER
WHERE ...
澄清一下:
- Where 语句相同并且有效。
- 没有字段错误,因为如果我在没有 into 的情况下执行 select 它会起作用。
发生了什么事?
- 正在更改字段,例如:
- locker_id被赋值为social_card(我验证了值是该去的地方)
- 某些字段为空(这是不可能的,因为它们被声明为非空)
这是 postgresql 10 错误还是我做错了什么?
万一我做错了什么,如果你能帮助我,我将不胜感激。
(原谅我的英文)
我真的不知道为什么它只给我那个功能的问题, 也许这是一些上下文问题,因为在其他情况下,顺序或是否缺少任何列都无关紧要。
通过排序和使用 'as'
来修复它SELECT U.USER_ID, U.OFFICE_FK, U.LOCKER, U.SOCIAL_CARD, U.EMAIL,
U.FULL_NAME, U.SURNAME1, U.SURNAME2, U.BIRTHDATE, U.PREFERENCES
INTO SEL_USER
FROM APP.USER AS U
WHERE ...;
感谢您的宝贵时间:)