<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    神秘的 J2ee 殿堂

    ·古之學者必有師·做學者亦要做師者·FIGHTING·

    oracl學習筆記

    新建用戶,分配權限,到用戶建表
    ---------------------------------------
    先通過【c:\>SQLPLUS /NOLOG】進入到【SQL>】
    然后通過【SQL>conn sys/oracle@liuyong_127.0.0.1 as sysdba】連接到數據庫其中sys是建立數據庫時

    系統帳戶,而oracle是自己設的密碼,liuyong_127.0.0.1是在net manager中配置的一個服務命名,好像

    是例程命名;當系統提示已連接上時,即可進行配置新用戶操作【create user liuyong identified by

    "liuyong";】以及之后的授權操作像【grant create session to liuyong;】【grant create table to

    liuyong;】【grant create tablespace to liuyong;】【grant create view to liuyong;】,然后還要

    授予用戶使用表空間的權限【alter user l
    iuyong quota unlimited on SYSTEM;】其中SYSTEM是表空間

    的名字,也可新建表空間,然后再分配。到現在為止就可以通過liuyong用戶去建表了。


    必要的時候,我們需要重啟ORACLE服務器.

    1.關閉服務器

    SQL > shutdown immediate

    2.啟動服務器

    SQL > startup

    3.啟動監聽器

    SQL > lsnrctl start

    授予用戶操作表的權限
    grant connect,resource,dba to user_id;

    授予一個user_id sysdba權限
    grant   sysdba   to   user_id;


    ---------------------

    orcle中創建隊列用于表主鍵

    create sequence SQE_SEARCHID
    maxvalue 
    999999999
    minvalue 
    1
    start with 
    1
    increment by 
    1
    cycle
    ;

    使用的時候只學要:
    select SQE_SEARCHID.nextval from dual
    或者:
    insert into tbl_cxqqxxb(searchid,name) values(lpad(SQE_SEARCHID.nextval,'9','0'),'tocas');
    其中lpad是固定searchid長度為9,不夠左邊補0,還有個rpad

    關于sequence的一篇文章:
    在oracle中sequence就是所謂的序列號,每次取的時候它會自動增加,一般用在需要按
    序列號排序的地方。

    1、 create sequence
    你首先要有create sequence或者create 
    any sequence權限,
    create sequence emp_sequence
    INCREMENT 
    BY 1 -- 每次加幾個
    START WITH 1 -- 從1開始計數
    NOMAXVALUE -- 不設置最大值
    NOCYCLE -- 一直累加,不循環
    CACHE 10;

    一旦定義了emp_sequence,你就可以用CURRVAL,NEXTVAL
    CURRVAL
    =返回sequence的當前值
    NEXTVAL
    =增加sequence的值,然后返回sequence值
    比如:
    emp_sequence.CURRVAL
    emp_sequence.NEXTVAL

    可以使用sequence的地方:
    - 不包含子查詢、snapshot、VIEW的 SELECT 語句
    - INSERT語句的子查詢中
    - NSERT語句的VALUES中
    - UPDATE 的 SET中

    可以看如下例子:
    INSERT INTO emp VALUES
    (empseq.nextval, 
    'LEWIS''CLERK',7902, SYSDATE, 1200NULL20);

    SELECT empseq.currval FROM DUAL;

    但是要注意的是:
    - 第一次NEXTVAL返回的是初始值;隨后的NEXTVAL會自動增加你定義的INCREMENT BY值,
    然后返回增加后的值。CURRVAL 總是返回當前sequence的值,但是在第一次NEXTVAL
    初始化之后才能使用CURRVAL,否則會出錯。一次NEXTVAL會增加一次sequence的值,
    所以如果你在同一個語句里面使用多個NEXTVAL,其值就是不一樣的。明白?
    - 如果指定CACHE值,oracle就可以預先在內存里面放置一些sequence,這樣存取的快
    些。
    cache里面的取完后,oracle自動再取一組到cache。 使用cache或許會跳號, 比如
    數據庫突然不正常down掉(
    shutdown abort),cache中的sequence就會丟失. 所以可
    以在create sequence的時候用nocache防止這種情況。

    2、 Alter sequence
    你或者是該sequence的owner,或者有ALTER 
    ANY sequence權限才能改動sequence。 可
    以alter除start值之外的所有sequence參數。如果想要改變start值,必須drop sequence
    再re
    -create。例子:
    ALTER sequence emp_sequence
    INCREMENT 
    BY 10
    MAXVALUE 
    10000
    CYCLE 
    -- 到10000后從頭開始
    NOCACHE;

    影響sequence的初始化參數:
    sequence_CACHE_ENTRIES 
    =
    設置能同時被cache的sequence數目。

    可以很簡單的Drop sequence
    DROP sequence order_seq;

    結束


    本篇文章來源于 站長中國 轉載請以鏈接形式注明出處 網址:http:
    //www.zzchn.com/edu/Database/Oracle/20070803/25375.html


    posted on 2008-03-29 15:58 月芽兒 閱讀(435) 評論(0)  編輯  收藏 所屬分類: J2EE學習心得

    導航

    統計

    常用鏈接

    留言簿(2)

    隨筆分類

    隨筆檔案

    相冊

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 久久久久噜噜噜亚洲熟女综合| 中文字幕亚洲无线码a| 内射少妇36P亚洲区| 男人的天堂网免费网站| 国产精品亚洲片在线| 99亚偷拍自图区亚洲| 人人公开免费超级碰碰碰视频| 中国在线观看免费高清完整版 | 永久在线免费观看| 韩国18福利视频免费观看| 亚洲五月综合缴情在线观看| 中文字幕的电影免费网站| 在线播放亚洲第一字幕| 免费国产成人午夜在线观看| 亚洲va无码va在线va天堂| 特级精品毛片免费观看| 亚洲国产日韩在线一区| 麻豆国产VA免费精品高清在线| 色欲色欲天天天www亚洲伊| 免费人成视频在线观看视频| 亚洲综合中文字幕无线码| 夜夜嘿视频免费看| 亚洲精品动漫在线| 午夜爱爱免费视频| 一级毛片aa高清免费观看| 精品亚洲综合久久中文字幕| 一级毛片视频免费| 亚洲AV无码乱码国产麻豆| 2020久久精品国产免费| 久久久久亚洲AV无码专区首| 亚洲国产精品免费观看| 怡红院亚洲红怡院在线观看| 免费福利网站在线观看| 亚洲av无码兔费综合| 在线观看午夜亚洲一区| 成人免费午夜无码视频| 中美日韩在线网免费毛片视频 | 成年女人看片免费视频播放器| 久久精品亚洲一区二区三区浴池 | 国产嫩草影院精品免费网址| 国产精品亚洲午夜一区二区三区|