如果要插入固定有序的資料,用一個sql可以用下面的方法
select
rownum-1
from
dual connect
byrownum
<
21但只支援9i或者更高版本,如果是8i就要建立個臨時表了:
alter
table
cmes.c_parameter_num_t
drop
primary
keycascade
;drop
table
cmes.c_parameter_num_t
cascade
constraints;
create
table
cmes.c_parameter_num_t (
num_id
number(20
)
notnull
);alter
table
cmes.c_parameter_num_t
addconstraint
pk_c_parameter_num_t
primary
key(num_id);
declare
i integer
;begin
i:=0;
loop
exit
when
i>
400;
i:=i+1;
insert
into
cmes.c_parameter_num_t (num_id)
values
(i);
endloop;
end;
/commit
;這裡還有注意一下,null列
如果union一個空值列,如:
select
num_id,
null
qty
from
c_parameter_num_t
where
num_id
<
20在9i中可,但8i就要看相union的欄位型別,否則會報型別不對,比如上面的例子就需要to_number(null) qty
oracle中的sql rowcount
sql rowcount用於記錄修改的條數,就如你在sqlplus下執行delete from之後提示已刪除xx行一樣,這個引數必須要在一個修改語句和commit之間放置,否則你就得不到正確的修改行數。 例如 declare n number begin insert into test a sel...
SQL Connect By 的例子
樹的結構如下 0 1 3 2 4 5 select from a start with id 1 connect by prior id p...
Oracle中的列轉行例子詳解
資料如下 name id 張三 1 2 3 要求實現 name id 張三 1 張三 2 張三 3 建立臨時表 create table tmp as select 張三 name 1 2 3 id from dual 寫法1 select name regexp substr id 1 level...