相关文章推荐
睿智的柠檬  ·  位函数和操作符 | TiDB 文档中心·  2 周前    · 
酒量小的红薯  ·  sql语句查询最近七天 三十天 数据 - 元小疯 ·  2 周前    · 
胡子拉碴的凉面  ·  关键字 ‘with‘ ...·  2 周前    · 
神勇威武的滑板  ·  mybatis多对一和一对多查询数据处理解读 ...·  2 周前    · 
一直单身的鸵鸟  ·  <select>: The HTML ...·  1 周前    · 
小眼睛的苹果  ·  pip install ...·  1 年前    · 
听话的马克杯  ·  使用Python合并多个JSON文件-腾讯云 ...·  1 年前    · 
文质彬彬的作业本  ·  Java发送报文与接收报文的实例代码_jav ...·  2 年前    · 
强健的企鹅  ·  rsa.importkey rsa key ...·  2 年前    · 
儒雅的豆芽  ·  react + antd ...·  2 年前    · 
Code  ›  先端选择列表值作为列名开发者社区
javascript select
https://cloud.tencent.com/developer/ask/sof/107419809
爽快的跑步机
2 月前
首页
学习
活动
专区
圈层
工具
MCP广场
返回腾讯云官网
提问

问 先端选择列表值作为列名

Stack Overflow用户
提问于 2022-11-04 05:51:17
EN

我有一个具有静态值的选择列表(:P31_LIST) (column1、column2、column3)和一个具有相同列名的表。

如何使用选择列表将数据选择并插入到用户选择的表的列中?如何将select列表的值用作列表名?我尝试了这个查询,但是没有插入或选择数据:

代码语言: javascript
运行
复制
-- Select
select column1, :P31_LIST,
---Tried also this
case when :P31_LIST= 'column1' then (select column1 from my_table) END as test,
from my_table

-插入my_table(:P31_LIST,column2),从source_table中选择A、B

my_table看起来是这样的:

代码语言: javascript
运行
复制
column1 | column2 | column3
   1    |     2   |     3
1 23 0 票数 0
EN
oracle-apex
sql

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-11-04 08:25:56

对于 SELECT ,您可以使用 CASE 表达式并将列名白名单:

代码语言: javascript
运行
复制
select column1,
       CASE :P31_LIST
       WHEN 'column1' THEN column1
       WHEN 'column2' THEN column2
       WHEN 'column3' THEN column3
       ELSE NULL
       END AS value
from   my_table

或者,在PL/SQL块中使用动态SQL:

代码语言: javascript
运行
复制
DECLARE
  v_sql CLOB := 'select column1, ' || :P31_LIST || ' AS value from my_table';
BEGIN
  FOR r IN v_sql LOOP
    DBMS_OUTPUT.PUT_LINE( r.column1 || ', ' || r.value);
  END LOOP;
/

对于 INSERT ,请使用PL/SQL:

代码语言: javascript
运行
复制
BEGIN
  EXECUTE IMMEDIATE 'INSERT INTO my_table(' || :P31_LIST || ', column2) SELECT A, B FROM source_table';
/

或者白名单列:

代码语言: javascript
运行
复制
BEGIN
  IF :P31_LIST = 'column1' THEN
 
推荐文章
睿智的柠檬  ·  位函数和操作符 | TiDB 文档中心
2 周前
酒量小的红薯  ·  sql语句查询最近七天 三十天 数据 - 元小疯
2 周前
胡子拉碴的凉面  ·  关键字 ‘with‘ 附近有语法错误。如果此语句是公用表表达式、xmlnamespaces 子句或者更改跟踪上下文子句,那么前一个语句必须以分号结尾_关键字 'with' 附近有语法错误。如果此语句是
2 周前
神勇威武的滑板  ·  mybatis多对一和一对多查询数据处理解读开发者社区
2 周前
一直单身的鸵鸟  ·  <select>: The HTML Select element - HTML | MDN
1 周前
小眼睛的苹果  ·  pip install greenlet出错_running setup.py install for greenlet ... error-CSDN博客
1 年前
听话的马克杯  ·  使用Python合并多个JSON文件-腾讯云开发者社区-腾讯云
1 年前
文质彬彬的作业本  ·  Java发送报文与接收报文的实例代码_java_脚本之家
2 年前
强健的企鹅  ·  rsa.importkey rsa key format is not supported-掘金
2 年前
儒雅的豆芽  ·  react + antd 实现表格可拖拽列宽_react拖拽布局antd_foolcuntry的博客-CSDN博客
2 年前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
Code - 代码工具平台
© 2024 ~ 沪ICP备11025650号