使用SQL获取基于新插入值的值

时间:2012-12-02 11:09:06

标签: sql oracle-sqldeveloper

我想在同一个表中选择另一列的特定值后对列进行过滤,我尝试使用@...特殊字符后跟列的名称来获取该值的地址。

我的SQL语句如下:

SELECT ATTRIBUTE FROM TABLE WHERE FIELD = '@FIELDNAME';

如果我使用的是特定值而不是@FIELDNAME,它将正常工作,但它将是静态的,但我需要它是基于所选值的动态。

2 个答案:

答案 0 :(得分:1)

创建另一个表格,其中包含FIELDNAME中的值列表,并为每条记录提供唯一的ID,然后根据您在新表格的字段名称前面选择的内容来检索值。 。“

我不知道你在找什么,请告诉我。

答案 1 :(得分:0)

如果不允许触发,表格中是否有date/time列?是否可以使用额外的列来查看新插入行的时间?

您可能必须检查输入的最新行,将其field值保存到变量中。然后根据变量值执行select

基于模糊的最后一行ID,您可以尝试以下(它不是很漂亮)。但同样,如果您的日期/时间更准确。

select attribute from table 
where field = (select field from table 
where rowid =(select max(rowid) from table))
;

<强> upate 您是否拥有设置插入命令的权限,如下所示:

insert into table (id, col1, col2,...) values (1,'something', 'something',...)
returning id into variable; -- you may either save field or id depending on your table

然后您可以使用此variable选择所需的记录。