Oracle9i专题
Oracle不支持类似于 MySQL 中的 limit. 但你还是可以rownum来限制返回的结果集的行数.
如果你只希望返回前十行纪录,你可以这样写:
SELECT * FROM table WHERE ROWNUM<10;
但是下面的语句是不对的:
SELECT * FROM table WHERE ROWNUM>90 AND ROWNUM<100;
这是因为 Oracle 认为这个条件不成立,所以没有返回。
你应该这样写:
SELECT * FROM table WHERE ROWNUM<101;
minus
SELECT * FROM table WHERE ROWNUM<91;
2.cursor c_ppp is
SELECT ppp.a, ppp.b, ppp.c, ppp.d
FROM ppp
FOR UPDATE OF ppp.b, ppp.d NOWAIT;
其中的"FOR UPDATE OF ppp.b, ppp.d NOWAIT"是什么意思呀?"NOWAIT"有和没有表示什么?
立即行锁,nowait代表马上上锁,默认是wait,就是有人在使用该行就等待他释放
3.有一个表,在表中过滤后填充到DATAGRID中
DataView dv = new DataView();
dv.Table = Th_Role.GetTable();
dv.RowFilter = "ID='1'";
//dv.Sort = "ID DESC";
this.DataGrid1.DataSource=dv;
this.DataGrid1.DataBind();
4.SQL SERVER/ORACLE比较
PL-SQL:
select usertable.*,
t.name
from bm t,
usertable
where t.id = usertable.bm
T-SQL:
SELECT *, BM.NAME AS BM_NAME
FROM USERTABLE, BM
WHERE USERTABLE.BM = BM.ID
5.一人类似于SPLIT的功能(ORACLE)
create or replace procedure test1
is
ls varchar2(255) :='1k,34,6r';
pos integer := 0;
begin
pos := instr(ls,',');
while pos > 0 loop
insert into bm (id) values (substr(ls,1,pos - 1));
ls := substr(ls,pos + 1);
pos := instr(ls,',');
end loop;
commit;
end test1;
6.下垃框的选定
DropDownList_board.Items.FindByValue(DropDownList_board_text).Selected = True
7.从表AA中去掉BB中的记录
SELECT ID
FROM AA
WHERE (ID NOT IN
(SELECT BB.ID
FROM AA, BB
WHERE AA.ID = BB.ID))