按级别更新连接请检查我哪里做错了
update connect by level please check where i am doing wrong
我有一个 table 的 Rand_No 我想像这样更新
UPDATE
RAND_NO
SET
rand_no1 = select floor(dbms_random.value(30, 35)) result
from dual
connect by level <= 366
/
我想在 (30, 35) 之间随机输入数据,直到 366 个条目
刚插入的时候是这样的
insert into rand_no (RAND_NO1)
select round(dbms_random.value(30, 35)) result
from dual
connect by level <= 366
;
但不更新我知道做错了请指正
您的更新语句将得到:
ORA-00936: missing expression
如果您想从子查询更新列值,则必须将其括在括号中:
UPDATE
RAND_NO
SET
rand_no1 = (select floor(dbms_random.value(30, 35)) result
from dual
connect by level <= 366)
/
但是作为那个子查询returns 366行会得到
ORA-01427: single-row subquery returns more than one row
您不能将每行中的值设置为所有 366 个新的随机数,这是试图做到的。
如果您想将每个现有行更新为新的随机值,那么您可以这样做:
update rand_no
set rand_no1 = floor(dbms_random.value(30, 35));
我有一个 table 的 Rand_No 我想像这样更新
UPDATE
RAND_NO
SET
rand_no1 = select floor(dbms_random.value(30, 35)) result
from dual
connect by level <= 366
/
我想在 (30, 35) 之间随机输入数据,直到 366 个条目 刚插入的时候是这样的
insert into rand_no (RAND_NO1)
select round(dbms_random.value(30, 35)) result
from dual
connect by level <= 366
;
但不更新我知道做错了请指正
您的更新语句将得到:
ORA-00936: missing expression
如果您想从子查询更新列值,则必须将其括在括号中:
UPDATE
RAND_NO
SET
rand_no1 = (select floor(dbms_random.value(30, 35)) result
from dual
connect by level <= 366)
/
但是作为那个子查询returns 366行会得到
ORA-01427: single-row subquery returns more than one row
您不能将每行中的值设置为所有 366 个新的随机数,这是试图做到的。
如果您想将每个现有行更新为新的随机值,那么您可以这样做:
update rand_no
set rand_no1 = floor(dbms_random.value(30, 35));