网站导航网学 原创论文 原创专题 网站设计 最新系统 原创论文 论文降重 发表论文 论文发表 UI设计定制 论文答辩PPT格式排版 期刊发表 论文专题
返回网学首页
网学原创论文
最新论文 推荐专题 热门论文 论文专题
当前位置: 网学 > 交易代码 > SQL语法 > 正文

常用SQL汇总

论文降重修改服务、格式排版等 获取论文 论文降重及排版 论文发表 相关服务
--查看用户默认的表空间.sql:
    selectusername,default_tablespacefromdba_users;
    --查看各个表空间占用磁盘情况.sql:
    select
    b.file_id文件ID号,
    b.tablespace_name表空间名,
    b.bytes/1024/1024||'M'字节数,
    (b.bytes-sum(nvl(a.bytes,0)))/1024/1024||'M'已使用,
    sum(nvl(a.bytes,0))/1024/1024||'M'剩余空间,
    100-sum(nvl(a.bytes,0))/(b.bytes)*100占用百分比
    fromdba_free_spacea,dba_data_filesb
    wherea.file_id=b.file_id
    groupbyb.tablespace_name,b.file_id,b.bytes
    orderbyb.file_id
    --以上2者关联,就是查看用户默认表空间使用情况的sql语句:
    SELECT*
    FROM
    (selectusername,default_tablespacefromdba_users)ut,
    (select
    --b.file_id文件ID号,
    b.tablespace_name表空间名,
    b.bytes/1024/1024||'M'字节数,
    (b.bytes-sum(nvl(a.bytes,0)))/1024/1024||'M'已使用,
    sum(nvl(a.bytes,0))/1024/1024||'M'剩余空间,
    100-sum(nvl(a.bytes,0))/(b.bytes)*100占用百分比
    fromdba_free_spacea,dba_data_filesb
    wherea.file_id=b.file_id
    groupbyb.tablespace_name,b.file_id,b.bytes
    orderbyb.file_id)tsu
    WHEREut.default_tablespace=tsu.表空间名
    ORDERBYut.username
    
    --创建表空间
    Sql>createtablespaceicbcdbdatafile'D:\oracle\product\10.2.0\oradata\orcl\icbcdb.dbf'size500mautoextendonnext10mmaxsizeunlimited;
    Sql>alterdatabasedatafile'D:\oracle\product\10.2.0\oradata\orcl\histdb.dbf'autoextendon;
    
    
    1)DATAFILE:表空间数据文件存放路径
    2)SIZE:起初设置为200M
    3)UNIFORM:指定区尺寸为128k,如不指定,区尺寸默认为64k
    4)空间名称histdb与数据文件名称histdb.dbf不要求相同,可随意命名.
    5)AUTOEXTENDON/OFF表示启动/停止自动扩展表空间
    6)alterdatabasedatafile'D:\oracle\product\10.2.0\oradata\orcl\histdb.dbf'resize500m;//手动修改数据文件大小为500M
    --删除表空间
    DROPTABLESPACEaudit_icbcdbINCLUDINGCONTENTSANDDATAFILES;
    createtablespaceicbcdbdatafile'D:\oracle\product\10.2.0\oradata\orcl\icbcdb.dbf'size1000mautoextendonnext10mmaxsizeunlimited;
    CREATEUSERicbc_auditIDENTIFIEDBYicbc_audit
    PROFILEDEFAULT
    DEFAULTTABLESPACEicbcdb
    ACCOUNTUNLOCK;
    grantconnect,resource,dbatoicbc_audit;
    GRANTDELETEANYTABLETOicbc_audit;
    GRANTDROPANYTABLETOicbc_audit;
    GRANTINSERTANYTABLETOicbc_audit;
    GRANTSELECTANYTABLETOicbc_audit;
    GRANTUNLIMITEDTABLESPACETOicbc_audit;
    GRANTUPDATEANYTABLETOicbc_audit;
    ①用户及用户下面所有表的删除
    dropusericbc_test02cascade;
    ②创建用户
    createuserfantestidentifiedbyfantest;
    ③分配表领域
    dropuserfantestcascade;
    createuserfantestidentifiedbyfantest;
    grantconnect,resource,dbatofantest;
    GRANTDELETEANYTABLETOfantest;
    GRANTDROPANYTABLETOfantest;
    GRANTINSERTANYTABLETOfantest;
    GRANTSELECTANYTABLETOfantest;
    GRANTUNLIMITEDTABLESPACETOfantest;
    GRANTUPDATEANYTABLETOfantest;
    executedbms_flashback.disable;
    grantexecuteondbms_flashbacktofantest;
    grantplustracetofantest;
    impsystem/dlds@syhxzgfile=d:\hxzg20080421.dmpfull=yignore=y;
    --修改System口令
    conn/assysdba;
    alterusersystemidentifiedbydlds;
    alteruser"SYSTEM"ACCOUNTUNLOCK;
    
    137.202
    Server137.202
    /********************************************/
    createtablet_dep
    (
    depnovarchar2(8)notnull,
    depnamevarchar2(24)
    )
    /
    altertablet_depaddconstraintpk_depnoprimarykey(depno);
    createtablet_emp
    (
    empnovarchar2(8)notnull,
    empnamevarchar2(24)notnull,
    depnovarchar2(8)notnull,
    salarynumber(6),
    demovarchar2(200)
    )
    /
    altertablet_empaddconstraintpk_empnoprimarykey(empno);
    altertablet_empaddconstraintfk_depnoforeignkey(depno)referencest_dep;
    insertintot_depvalues('10','人事部');
    insertintot_depvalues('20','软件开发部');
    insertintot_depvalues('30','金融事业部');
    insertintot_depvalues('40','电信事业部');
    insertintot_depvalues('50','社保事业部');
    insertintot_empvalues('100001','aa','10',1000,'');
    insertintot_empvalues('100002','aa1','10',1500,'');
    insertintot_empvalues('100003','aa2','10',1800,'');
    insertintot_empvalues('100004','aa3','10',2000,'');
    insertintot_empvalues('200001','bb','20',1000,'');
    insertintot_empvalues('200002','bb1','20',1500,'');
    insertintot_empvalues('200003','bb2','20',1800,'');
    insertintot_empvalues('200004','bb3','20',2000,'');
    insertintot_empvalues('200005','bb4','20',4000,'');
    insertintot_empvalues('300001','cc','30',1000,'');
    insertintot_empvalues('300002','cc1','30',6500,'');
    insertintot_empvalues('300003','cc2','30',1800,'');
    insertintot_empvalues('300004','cc3','30',2000,'');
    insertintot_empvalues('300005','cc4','30',4000,'');
    insertintot_empvalues('300006','cc5','30',4002,'');
    commit;
    /*******************************************************/
    createorreplaceproceduretest_proc(countsinnumber)is
    icountnumber;
    CURSORc_cur(p_depnovarchar2)
    is
    selectdepno,empno,empname,salaryfromt_emp
    wheredepno=p_depno
    orderbysalarydesc;
    v_depnot_emp.depno%type;
    begin
    
    forv_depnoin(selectdistinctdepnofromt_emporderbydepno)loop
    icount:=0;
    --openc_cur(v_depno.depno);
    foriinc_cur(v_depno.depno)loop
    if(icount    dbms_output.put_line(i.depno||''||i.empno||''||i.empname||''||i.salary);
    endif;
    icount:=icount+1;
    endloop;
    
    endloop;
    
    endtest_proc;
    /***********************************/
    CREATEORREPLACEVIEWV_DEP_STATAS
    SELECTb.depno,decode(avg(salary),null,0,avg(salary))asavg_sal,decode(max(salary),null,0,max(salary))asmax_sal,
    decode(min(salary),null,0,min(salary))asmin_sal,count(empno)asdep_psncnt
    FROMt_empa,t_depb
    wherea.depno(+)=b.depno
    groupbyb.depno
    /*******************************************/
    createsequenceSEQ_ID
    minvalue1
    startwith1
    incrementby1;
    /**********************************************/
    createtablet_log
    (
    idnumber(8)notnull,
    slogvarchar2(256)
    )
    altertablet_log
    addmod_datedate;
    /*************************************************/
    createorreplacetriggerWrite_Logs
    Beforeinsertorupdateordeleteont_emp
    FOREACHROW
    declare
    log_desct_log.slog%type;
    tempnot_emp.empno%type;
    begin
    
    tempno:=:new.empno;
    ifinsertingthen
    tempno:=:new.empno;
    log_desc:='用户:'||user||'插入'||tempno;
    elsifupdatingthen
    tempno:=:new.empno;
    log_desc:='用户:'||user||'更新'||tempno;
    elsifdeletingthen
    tempno:=:old.empno;
    log_desc:='用户:'||user||'删除'||tempno;
    endif;
    insertintot_logvalues(SEQ_ID.nextval,log_desc);
    end;
    deletefromt_empwhereempno='300009';
    insertintot_empvalues('300009','cc9','30',5000,'');
    deletefromt_empwhereempno='300009';
    commit;
    selectto_date(to_char(sysdate,'yyyy-mm-ddhh24:mi:ss'),'yyyy-mm-ddhh24:mi:ss')fromdual;
    createtablet_tmp
    (
    anumber(2),
    bnumber(2),
    cnumber(2),
    dnumber(2),
    enumber(2)
    )
    /
    insertintot_tmpvalues(2,1,4,5,3);
    insertintot_tmpvalues(4,2,3,1,5);
    commit;
    /*************检查锁***************/
    SELECT
    p.spid
    ,s.username
    ,s.sid
    ,s.serial#
    ,s.status
    ,s.osuser
    ,s.machine
    ,DECODE(l.lmode,0,'lockwaiter','lockholder')resp
    ,s.program
    ,SUBSTR(s.module,INSTR(s.module,'/',-1)+1,20)module
    ,s.sql_hash_value
    ,s.sql_address
    ,l.id1
    ,l.TYPE
    ,s.logon_time
    ,s.paddr
    ,l.lmode
    ,l.request
    ,l.ctime
    ,s.row_wait_obj#
    ,s.row_wait_file#
    ,s.row_wait_block#
    FROMv$sessions
    ,v$processp
    ,v$lockl
    WHEREl.id1IN(SELECTc.id1
    FROMv$lockc
    WHEREc.lmode=0)
    ANDl.sid=s.sid
    ANDs.paddr=p.addr
    ORDERBYl.id1
    ,resp
    ,ctime
    ,s.logon_time;
    /****************查找锁产生的SQL***************/
    selects.usernameusername,a.sidsid,a.owner||'.'||a.objectobject,s.lockwait,t.sql_textSQL
    fromv$sqltextt,v$sessions,v$accessa
    wheret.address=s.sql_address
    andt.hash_value=s.sql_hash_value
    ands.sid=a.sid
    anda.owner!='SYS'
    andupper(substr(a.object,1,2))!='V
  • 上一篇资讯: 微软Sql参考手册
  • 下一篇资讯: 常用SQL汇总(1)
  • 设为首页 | 加入收藏 | 网学首页 | 原创论文 | 计算机原创
    版权所有 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师
    ;
        ands.sid=103
        /***********************释放锁****************************/
        下列查询标识用户OM_TEST的所有会话:
        SELECTsid,serial#
        FROMv$session
        WHEREUSERNAME='OM_TEST';
        ALTERSYSTEMKILLSESSION'130,6073';
        /*定时执行*/
        job参数标识一个存在的工作。what参数指示将被执行的新的PL/SQL代码。
        
        一个简单例子:
        
        创建测试表
        SQL>createtablea(adate);
        
        表已创建。
        
        创建一个自定义过程
        SQL>createorreplaceproceduretestas
        2begin
        3insertintoavalues(sysdate);
        4end;
        5/
        
        过程已创建。
        
        创建JOB
        SQL>variablejob1number;
        SQL>
        SQL>begin
        2dbms_job.submit(:job1,'test;',sysdate,'sysdate+1/1440');--每天1440分钟,即一分钟运行test过程一次
        3end;
        4/
        
        PL/SQL过程已成功完成。
        
        运行JOB
        SQL>begin
        2dbms_job.run(:job1);
        3end;
        4/
        
        PL/SQL过程已成功完成。
        
        SQL>selectto_char(a,'yyyy/mm/ddhh24:mi:ss')时间froma;
        
        时间
        -------------------
        2001/01/0723:51:21
        2001/01/0723:52:22
        2001/01/0723:53:24
        
        删除JOB
        SQL>begin
        2dbms_job.remove(:job1);
        3end;
        4/
        
        PL/SQL过程已成功完成。
        /******OracleInstance启动后执行procedure********/
        createorreplacetriggertrigger_name
        afterstartupondatabase
        begin
        proc;
        end;
        /*********************使用Oracle的DBMS_SQL包执行动态SQL语句*******************************/
        DECLARE
        v_cursorNUMBER;
        v_statNUMBER;
        v_rowNUMBER;
        v_idNUMBER;
        v_noVARCHAR(100);
        v_dateDATE;
        v_sqlVARCHAR(200);
        s_idNUMBER;
        s_dateDATE;
        BEGIN
        s_id:=3000;
        s_date:=SYSDATE;
        v_sql:='SELECTid,qan_no,sample_dateFROM"tblno"WHEREid>:sidandsample_date<:sdate';
        v_cursor:=dbms_sql.open_cursor;--打开游标;
        dbms_sql.parse(v_cursor,v_sql,dbms_sql.native);--解析动态SQL语句;
        dbms_sql.bind_variable(v_cursor,':sid',s_id);--绑定输入参数;
        dbms_sql.bind_variable(v_cursor,':sdate',s_date);
        
        dbms_sql.define_column(v_cursor,1,v_id);--定义列
        dbms_sql.define_column(v_cursor,2,v_no,100);
        dbms_sql.define_column(v_cursor,3,v_date);
        v_stat:=dbms_sql.execute(v_cursor);--执行动态SQL语句。
        LOOP
        EXITWHENdbms_sql.fetch_rows(v_cursor)<=0;--fetch_rows在结果集中移动游标,如果未抵达末尾,返回1。
        dbms_sql.column_value(v_cursor,1,v_id);--将当前行的查询结果写入上面定义的列中。
        dbms_sql.column_value(v_cursor,2,v_no);
        dbms_sql.column_value(v_cursor,3,v_date);
        dbms_output.put_line(v_id||';'||v_no||';'||v_date);
        ENDLOOP;
        dbms_sql.close_cursor(v_cursor);--关闭游标。
        END;
        
        /********同义词*********/
        connectscott/tiger@unieapdb;
        grantselectonscott.nokiatoom_test;
        connectom_test/om_test@unieapdb;
        CREATESYNONYMnokia_1FORscott.nokia;
        /*不同IP同义词*/
        --tnsnames.ora
        ORCL_242=
        (DESCRIPTION=
        (ADDRESS_LIST=
        (ADDRESS=(PROTOCOL=TCP)(HOST=192.168.137.242)(PORT=1521))
        )
        (CONNECT_DATA=
        (SERVICE_NAME=orcl)
        )
        )
        --建立link
        createpublicdatabaselinklink_3connecttoicbc_auditidentifiedbyicbc_auditusing'orcl_242';
        --建立同义词
        createpublicsynonymaaaforicbc_testm_dictionary@link_3;
        --使用同义词
        descaaa;
        selectcount(*)fromicbc_testm_dictionary@link_3;
        
        selectp1.staff_code,p1.job,p1.code_value,p1.edu_level,p2.code_valuefrom
        (selectstaff_code,job,t1.code_value,edu_levelfromaudit_staff_infot,comm_dictionaryt1
        wheret.job=t1.code_id(+))p1,
        (selectstaff_code,edu_level,t1.code_valuefromaudit_staff_infot,comm_dictionaryt1
        wheret.edu_level=t1.code_id(+))p2
        wherep1.staff_code=p2.staff_code;
        /*外键级联*/
        ALTERTABLEtblShipping
        ADDCONSTRAINTFK_tblShipping
        FOREIGNKEY(CustomerID)REFERENCES
        tblCustomers(CustomerID)
        ONUPDATECASCADE
        ONDELETECASCADE
        /*Oracle最大连接数*/
        selectusername,count(*)fromv$sessiongroupbyusername;
        connsys/sysassysdba;
        altersystemsetprocesses=300scope=spfile;
        createpfilefromspfile;
        showparameterprocesses;
        /*定时备份*/
        DBMS_SCHEDULER.CREATE_JOB(
        Job_name=>'BACKUP',
        job_type=>'EXECUTABLE',
        job_action='C:\TEMP\BACKUP.BAT',
        start_date=>SYDATE,
        repeat_interval=>'FREQ=MONTHLY;BYDAY=MON,SUN;BYHOUR=-1;BYMINUTE=-1',
        ENABLED=>TRUE,
        COMMENTS=>'定期备份数据库'
        );
        每星期星期一,星期天的23:59分备份。
        backup.bat内容可以这样设置.
        setadir=%DATE:~,4%%DATE:~5,2%%DATE:~8,2%
        EXPuser/pwd@connectionstringFILE=%adir%.dmptables=tab
        (DBA|ALL|USER)_SCHEDULER_JOBS
        DBA_SCHEDULER_JOBS
        /*****************************************/
        计算表占用空间的大小
        SelectSegment_Name,Sum(bytes)/1024/1024FromUser_ExtentswhereSegment_Namelike'%表名%'
        GroupBySegment_Name
        查看当前用户每个表占用空间的大小:
        SelectSegment_Name,Sum(bytes)/1024/1024FromUser_ExtentsGroupBySegment_Name
        查看每个表空间占用空间的大小:
        SelectTablespace_Name,Sum(bytes)/1024/1024FromDba_SegmentsGroupByTablespace_Name
        1://按照笔划排序
        2:select*fromdeptorderbynlssort(name,'NLS_SORT=SCHINESE_STROKE_M');
        3://按照部首排序
        4:select*fromdeptorderbynlssort(name,'NLS_SORT=SCHINESE_RADICAL_M');
        5://按照拼音排序,此为系统的默认排序方式
        6:select*fromdeptorderbynlssort(name,'NLS_SORT=SCHINESE_PINYIN_M');
        1.修改数据库默认时间格式
        altersessionsetnls_date_format='yyyymmddhh24miss';
        OR
        可以在init.ora中加上一行
        nls_date_format='yyyymmddhh24miss'
        94.sql语句如何插入全年日期?
        createtableBSYEAR(ddate);
        insertintoBSYEAR
        selectto_date('20080101','yyyymmdd')+rownum-1
        fromall_objects
        whererownum<=to_char(to_date('20081231','yyyymmdd'),'ddd');
        select*intotemp_test_tablefromT_XT_USER
        /******************************************************/
        --查看数据库中全部索引
        selectindex_name,index_type,table_namefromuser_indexesorderbytable_name;
        /************MERGEINTO***************/
        MERGEINTOproductsp
        USINGnewproductsnp
        ON(p.product_id=np.product_id)
        WHENMATCHEDTHEN
        UPDATE
        SETp.product_name=np.product_name,
        p.category=np.category
        WHENNOTMATCHEDTHEN
        INSERT
        values(np.product_id,np.product_name,np.category);
        
  • 上一篇资讯: 微软Sql参考手册
  • 下一篇资讯: 常用SQL汇总(1)
  • 相关资讯

    网学推荐

    原创论文

    文章排行榜

    设为首页 | 加入收藏 | 网学首页 | 原创论文 | 计算机原创
    版权所有 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师