Postgresql 如何强制转换列名以防止SQL注入?
在PostgreSQL函数中定义Postgresql 如何强制转换列名以防止SQL注入?,postgresql,stored-procedures,Postgresql,Stored Procedures,在PostgreSQL函数中定义EXECUTE时,我可以将表名强制转换为::regclass,以确保它们是有效的关系名。现在,我想将其扩展到列名,但我找不到合适的类型 我的代码: ... BEGIN EXECUTE ' UPDATE ' || tbl::regclass || ' SET ' || col || '=someVal WHERE idcol=id '; END; ... 在col之后放置什么以将其转换为列名 quote_ident(col)
EXECUTE
时,我可以将表名强制转换为::regclass
,以确保它们是有效的关系名。现在,我想将其扩展到列名,但我找不到合适的类型
我的代码:
...
BEGIN
EXECUTE '
UPDATE ' || tbl::regclass || ' SET ' || col || '=someVal WHERE idcol=id
';
END;
...
在col
之后放置什么以将其转换为列名
quote_ident(col)