sql* plus 基本命令

    忙完一阵后,可以复习下之前看过的书籍,顺便做下笔记,实践一番,加深印象。

1.Command                            Definition
         remark                                     注释
         set headsep                             标题分隔符标识一个字符,用于将标题分为两行或多行
         ttitle                                         设置每页的顶部标题
         btitle                                        设置每页的尾部标题
         column                                    关于列的标题,格式与处理的命令
         break on                                   在报表的各部分插入空格,或者将小计与总计断开
         compute sum                            计算小计
         set linesize                               设置最大字符数
         set pagesize                             设置每页最大行数
         set newpage                             设置页与页之间的空行数
         spool                                         将屏幕上显示的报表导入一个文件中,以便打印
         /**/                                             多行 注释
          --                                               单行注释,类似于remark
         set pause                                   显示页与页之间的停顿
         save                                            将查询结果保存中一个指定的文件中
         host                                            向OS发送命令
        start or @                                     执行文件中的命令
        edit                                              使用户离开sql * plus 并进入所选的编辑器
        define _editor                              告知sql * plus 默认的编辑器
        exit or quit                                   退出 SQLPLUS.
2. 示例

rem Bookshelf activity report                     --注释
set headsep !                                               --列分割符,默认是|
ttitle 'Checkout Log for 1/1/02-3/31/02'     --页顶部标题
btitle 'from the Bookshelf'                            --页尾标题
column Name format a20                           --Name列宽20个字符
column Title format a20 word_wrapped   --title列20个字符 可以超过20个字符,不会换行
column DaysOut format 999.99                   --DaysOut 5位有效数字
column DaysOut heading 'Days!Out'           --列daysout将显示为Days 换行 Out.因为set headsep
break on Name skip 1 on report      --如果Name相同,则不用显示 break on Name duplicate 会显示重复的值,必须
                                         --是order by 子句中的列。
compute avg of DaysOut on Name          --相同的Name,计算Daysout的平均值
compute avg of DaysOut on report
set linesize 80
set pagesize 60
set newpage 0                        --每页开头多少条空白行
set feedback off                      --关闭回显
set pause 'More . . . '              --设置页与页之间的停顿
set pause on
spool activity.lst
select Name, Title, CheckoutDate, ReturnedDate,
ReturnedDate-CheckoutDate as DaysOut /*Count Days*/
from BOOKSHELF_CHECKOUT
order by Name, CheckoutDate;
spool off

break on 必须有一个相关的Order by ;
compute avg 必须有一个相关的break on.


3 list del append input
SQL> select empno,ename,
  2  job,sal
  3  deptno
  4  from emp;

     EMPNO ENAME      JOB
---------- ---------- --------- ---
      7369 SMITH      CLERK
      7499 ALLEN      SALESMAN
      7521 WARD       SALESMAN
      7566 JONES      MANAGER
      7654 MARTIN     SALESMAN
      7698 BLAKE      MANAGER
      7782 CLARK      MANAGER
      7788 SCOTT      ANALYST
      7839 KING       PRESIDENT
      7844 TURNER     SALESMAN
      7876 ADAMS      CLERK

     EMPNO ENAME      JOB
---------- ---------- --------- ---
      7900 JAMES      CLERK
      7902 FORD       ANALYST
      7934 MILLER     CLERK

14 rows selected.

SQL> l 2 4
  2  job,sal
  3  deptno
  4* from emp
SQL> del 2
SQL> list
  1  select empno,ename,
  2  deptno
  3* from emp
SQL> l 1
  1* select empno,ename,
SQL> c /empno/mgr
  1* select mgr,ename,
SQL> l
  1  select mgr,ename,
  2  deptno
  3* from emp
SQL> l 2
  2* deptno
SQL> append "deptnumber" --中间应该两个空格
  2* deptno"deptnumber"
SQL> input where empno=7900;
SQL> list
  1  select mgr,ename,
  2  deptno"deptnumber"
  3  where empno=7900
  4* from emp
SQL> del 3
SQL> l
  1  select mgr,ename,
  2  deptno"deptnumber"
  3* from emp
SQL> input  where empno=7900;
SQL> /

       MGR ENAME      deptnumber
---------- ---------- ----------
      7698 JAMES              30

SQL> delete  
  2  /
delete
     *
ERROR at line 1:
ORA-00903: invalid table name

SQL> list
  1* delete 

 

SQL> del 1 2
SQL> list
SP2-0223: No lines in SQL buffer.

SQL> del 1 last --从第一行到最后一行
SP2-0026: No lines to delete.

 

4 保存 save
SQL> save fred.sql
Created file fred.sql
SQL> save fred.sql
SP2-0540: File "fred.sql" already exists.
Use "SAVE filename[.ext] REPLACE".
SQL> save fred.sql replace
Wrote file fred.sql
SQL> select * from emp;

SQL> save fred.sql app
Appended file to fred.sql


fred.sql:

select empno,job from emp
/
select * from emp
/


5  保存环境store
SQL> store set my_settings.sql create|append|replace
Created file my_settings.sql

my_settings.sql:
set appinfo OFF
set appinfo "SQL*Plus"
set arraysize 15
set autocommit OFF
set autoprint OFF
set autorecovery OFF
set autotrace OFF
set blockterminator "."
set cmdsep OFF
set colsep " "
set compatibility NATIVE
set concat "."
set copycommit 0
set copytypecheck ON
set define "&"
set describe DEPTH 1 LINENUM OFF INDENT ON
set echo OFF
set editfile "afiedt.buf"
set embedded OFF
set escape OFF
set feedback 6
set flagger OFF
set flush ON
set heading ON
set headsep "|"
set linesize 80
set logsource ""
set long 80
set longchunksize 80
set markup HTML OFF HEAD " body {font:10pt Arial,Helvetica,sans-serif; color:black; background:White;} p {font:10pt Arial,Helvetica,sans-serif; color:black; background:White;} table,tr,td {font:10pt Arial,Helvetica,sans-serif; color:Black; background:#f7f7e7; padding:0px 0px 0px 0px; margin:0px 0px 0px 0px;} th {font:bold 10pt Arial,Helvetica,sans-serif; color:#336699; background:#cccc99; padding:0px 0px 0px 0px;} h1 {font:16pt Arial,Helvetica,Geneva,sans-serif; color:#336699; background-color:White; border-bottom:1px solid #cccc99; margin-top:0pt; margin-bottom:0pt; padding:0px 0px 0px 0px;} h2 {font:bold 10pt Arial,Helvetica,Geneva,sans-serif; color:#336699; background-color:White; margin-top:4pt; margin-bottom:0pt;} a {font:9pt Arial,Helvetica,sans-serif; color:#663300; background:#ffffff; margin-top:0pt; margin-bottom:0pt; vertical-align:top;}SQL*Plus Report" BODY "" TABLE "border='1' width='90%' align='center' summary='Script. output'" SPOOL OFF ENTMAP ON PRE OFF
set newpage 1
set null ""
set numformat ""
set numwidth 10
set pagesize 14
set pause OFF
set recsep WRAP
set recsepchar " "
set serveroutput OFF
set shiftinout invisible
set showmode OFF
set sqlblanklines OFF
set sqlcase MIXED
set sqlcontinue "> "
set sqlnumber ON
set sqlpluscompatibility 10.2.0
set sqlprefix "#"
set sqlprompt "SQL> "
set sqlterminator ";"
set suffix "sql"
set tab ON
set termout ON
set time OFF
set timing OFF
set trimout ON
set trimspool OFF
set underline "-"
set verify ON
set wrap ON

6

SQL> ttitle
ttitle OFF and is the first few characters of the next SELECT statement
SQL> btitle
btitle OFF and is the first few characters of the next SELECT statement
SQL> break
SP2-0015: no break(s) defined
SQL> compute
SP2-0080: no COMPUTES currently defined
SQL> show headsep
headsep "|" (hex 7c)
SQL> show pagesize
pagesize 14
SQL> show linesize
linesize 80
SQL> show newpage
newpage 1
SQL> clear columns
columns cleared
SQL> clear breaks
breaks cleared
SQL> clear computes
computes cleared

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/20648244/viewspace-681663/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/20648244/viewspace-681663/

使用优化算法,以优化VMD算法的惩罚因子惩罚因子 (α) 和分解层数 (K)。 1、将量子粒子群优化(QPSO)算法与变分模态分解(VMD)算法结合 VMD算法背景: VMD算法是一种自适应信号分解算法,主要用于分解信号为不同频率带宽的模态。 VMD的关键参数包括: 惩罚因子 α:控制带宽的限制。 分解层数 K:决定分解出的模态数。 QPSO算法背景: 量子粒子群优化(QPSO)是一种基于粒子群优化(PSO)的一种改进算法,通过量子行为模型增强全局搜索能力。 QPSO通过粒子的量子行为使其在搜索空间中不受位置限制,从而提高算法的收敛速度与全局优化能力。 任务: 使用QPSO优化VMD中的惩罚因子 α 和分解层数 K,以获得信号分解的最佳效果。 计划: 定义适应度函数:适应度函数根据VMD分解的效果来定义,通常使用重构信号的误差(例如均方误差、交叉熵等)来衡量分解的质量。 初始化QPSO粒子:定义粒子的位置和速度,表示 α 和 K 两个参数。初始化时需要在一个合理的范围内为每个粒子分配初始位置。 执行VMD分解:对每一组 α 和 K 参数,运行VMD算法分解信号。 更新QPSO粒子:使用QPSO算法更新粒子的状态,根据适应度函数调整粒子的搜索方向和位置。 迭代求解:重复QPSO的粒子更新步骤,直到满足终止条件(如适应度函数达到设定阈值,或最大迭代次数)。 输出优化结果:最终,QPSO算法会返回一个优化的 α 和 K,从而使VMD分解效果最佳。 2、将极光粒子(PLO)算法与变分模态分解(VMD)算法结合 PLO的优点与适用性 强大的全局搜索能力:PLO通过模拟极光粒子的运动,能够更高效地探索复杂的多峰优化问题,避免陷入局部最优。 鲁棒性强:PLO在面对高维、多模态问题时有较好的适应性,因此适合海上风电时间序列这种非线性、多噪声的数据。 应用场景:PLO适合用于优化VMD参数(α 和 K),并将其用于风电时间序列的预测任务。 进一步优化的建议 a. 实现更细致的PLO更新策略,优化极光粒子的运动模型。 b. 将PLO优化后的VMD应用于真实的海上风电数据,结合LSTM或XGBoost等模型进行风电功率预测。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值