国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

pl/sql程序編寫中遇到的一些問題及解決辦法

2024-07-21 02:39:43
字體:
來源:轉載
供稿:網友
1、在pl/sql中,order by子句中的條件可以使用變量! DECLARE
 v_orderbystr VARCHAR2(30);
 v_userid VARCHAR2(30);
 v_username VARCHAR2(30);
 v_gender NUMBER;
 v_rownum NUMBER;
 TYPE tcur IS REF CURSOR;
 results tcur;
 BEGIN
 v_rownum:=0;
 v_orderbystr:='username';
    OPEN results FOR select userId,userName,gender  from
      (select ROWNUM AS rowno, a.* from
      (select * from home_user order by v_orderbystr) a
      where rownum<10)
       where rowno>=1;
    LOOP
         FETCH results INTO v_userid,v_username,v_gender;
         EXIT WHEN results%NOTFOUND;
         dbms_output.put_line(v_userid' 'v_username' 'v_gender);
         v_rownum:=v_rownum+1;
         END LOOP;
         CLOSE results;
         dbms_output.put_line(v_rownum);
END;2、而在寫動態sql的存儲過程中,發現在使用using子句時 ,發現不能把表名作為占位符的參數!而只能通過下邊的辦法來替代,即直接將表名與字符串相連,其他的變量則可以被占位符來替代;
         v_sqlStr:='SELECT * FROM(SELECT rownum rowno,t.* FROM'
              '(SELECT sequenceid msgId,themeid,Id,topic,hits,replys,nickname'
              ' FROM 'tablename' WHERE themeid=:a2 ORDER BY :a3) t WHERE rownum<:a4'
              ') WHERE rowno>=:a5';
          dbms_output.put_line(v_sqlStr);
          OPEN o_results FOR v_sqlStr USING p_themeId,v_OrderByStr,v_endRow,v_startRow;3、在做一些翻頁查詢時,使用了偽列rownum,發現rownum只能用于rownum<10之類的應用,而不能是rownum>10;上例中實現了同時翻頁的功能;

4、利用已經存在的表建立一個新表,并復制源表的表結構:
CREATE TABLE newTable as (select * oldTable where 1=2)


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 新疆| 丹巴县| 和平县| 虞城县| 夏河县| 昭通市| 新蔡县| 温州市| 富顺县| 博客| 平武县| 襄城县| 延津县| 竹溪县| 永康市| 台中县| 城口县| 循化| 平南县| 大田县| 怀来县| 许昌市| 梧州市| 固安县| 交城县| 日土县| 常州市| 阿城市| 乌鲁木齐市| 上虞市| 修文县| 运城市| 合川市| 哈尔滨市| 廉江市| 邹平县| 拜泉县| 互助| 焦作市| 杭州市| 通榆县|