【问题标题】:Inserting into table values found from previous query插入从先前查询中找到的表值
【发布时间】:2023-04-05 08:42:02
【问题描述】:

我有一个表,比如说'ROLEE'.,其中包含列ROLE、ACCESSENTRY。我需要找到 ACCESSENTRY 等于 'A' 的第一行,并为这些行插入新行并获取 'ROLE' 并给定 ACCESSENTRY。 所以让我们在这个查询中说:

select role from ROLEE where ACCESSENTRY='A'

我得到 2 行的值:ADMIN、USER 对于这些角色(管理员、用户),我需要插入

INSERT INTO ROLEE
values ('ADMIN', 'ACCESS')
INSERT INTO ROLEE
    values ('USER', 'ACCESS')

我尝试了这些,但它不起作用:

INSERT INTO ROLEE
values (role, 'ACCESS') where role in (
select role from ROLEE where ACCESSENTRY='A') 

【问题讨论】:

    标签: sql oracle sql-insert


    【解决方案1】:

    请使用下面的插入语句,

    insert into ROLEE (select role, 'ACCESS' from ROLEE where ACCESSENTRY='A');
    

    正确的做法是指定列名,

    insert into ROLEE(column1, column2) (select role, 'ACCESS' from ROLEE where ACCESSENTRY='A'); -- Provide the respective column names in colum1 and column2
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-06
      相关资源
      最近更新 更多