我想知道我是否可以有一个查询,它给出了列的值,包括列的默认值。它可行吗?
我不想使用联合或加入。
例如,我有一个表EMP为
CREATE TABLE EMP
(EMP_NAME VARCHAR2(20) DEFAULT 'XXX');
和
INSERT INTO EMP(EMP_NAME) VALUES('A');
INSERT INTO EMP(EMP_NAME) VALUES('B');
当我用
之类的东西查询时SELECT EMP_NAME FROM EMP;
我希望结果为
A
B
XXX
业务逻辑: 表EMP是包含所有员工列表的主表。在我有我的Oraganization任务的UI屏幕上EG:ORG_TASK我有一个包含两列的UI屏幕,由于各种其他原因,TASK_NAME,ASSINGED_EMPLOYEE和ASSINED_EMPLOYEE列不可用。
因此,当我想创建一个新任务时,我只需在另一列中输入任务,其描述,并需要从ASSINED_EMPLOYEE列的下拉列表中选择该员工。
如果无法在任何员工的那个时间点分配任务,我们希望下拉菜单也有一个名为TBD的默认值。
下拉列表的来源是一个查询,它从EMP表中选择员工姓名。 我们想将TBD附加到下拉列表中的值
答案 0 :(得分:2)
仅使用简单的select语句是不可能的。您只能获取表格中存在的记录。
您正在寻找类似的内容:
SELECT EMP_NAME FROM EMP
union all
select DATA_DEFAULT from ALL_TAB_COLUMNS
where TABLE_NAME = 'EMP'
and COLUMN_NAME = 'EMP_NAME';
但您必须找到将long
类型转换为varchar
的方法。
这不是我想的那么简单。我觉得提出新问题是个好问题。