??xml version="1.0" encoding="utf-8" standalone="yes"?>
Ctrl+D: 删除当前?nbsp;
Ctrl+Alt+↓ 复制当前行到下一?复制增加)
Ctrl+Alt+↑ 复制当前行到上一?复制增加)
Alt+↓ 当前行和下面一行交互位|?特别实用,可以省去先剪?再粘贴了(jin))
Alt+↑ 当前行和上面一行交互位|?同上)
Alt+← 前一个编辑的面
Alt+→ 下一个编辑的面(当然是针对上面那条来说了(jin))
Alt+Enter 昄当前选择资源(工程,or 文g or文g)的属?br />
Shift+Enter 在当前行的下一行插入空?q时鼠标可以在当前行的Q一位置,不一定是最?
Shift+Ctrl+Enter 在当前行插入I(原理同上?
Ctrl+Q 定位到最后编辑的地方
Ctrl+L 定位在某?nbsp;(对于E序过100的h有音?
Ctrl+M 最大化当前的Edit或View (再按则反?
Ctrl+/ 注释当前?再按则取消注?br />
Ctrl+O 快速显C?nbsp;OutLine
Ctrl+T 快速显C当前类的承结?br />
Ctrl+W 关闭当前Editer
Ctrl+K 参照选中的Word快速定位到下一?br />
Ctrl+E 快速显C当前Editer的下拉列?如果当前面没有昄的用黑体表示)
Ctrl+/(键? 折叠当前cM的所有代?br />
Ctrl+×(键? 展开当前cM的所有代?br />
Ctrl+Space 代码助手完成一些代码的插入(但一般和输入法有冲突,可以修改输入法的热键,也可以暂用Alt+/来代?
Ctrl+Shift+E 昄理当前打开的所有的View的管理器(可以选择关闭,Ȁzȝ操作)
Ctrl+J 正向增量查找(按下Ctrl+J?你所输入的每个字母编辑器都提供快速匹配定位到某个单词,如果没有,则在stutes line中显C没有找C(jin),查一个单词时,特别实用,q个功能Idea两年前就有了(jin))
Ctrl+Shift+J 反向增量查找(和上条相?只不q是从后往前查)
Ctrl+Shift+F4 关闭所有打开的Editer
Ctrl+Shift+X 把当前选中的文本全部变呛_?br />
Ctrl+Shift+Y 把当前选中的文本全部变?sh)小?br />
Ctrl+Shift+F 格式化当前代?br />
Ctrl+Shift+P 定位到对于的匚wW?譬如{}) (从前面定位后面时,光标要在匚wW里?后面到前?则反?
下面的快捷键是重构里面常用的,本hp己喜Ƣ且常用的整理一??一般重构的快捷键都是Alt+Shift开头的?
Alt+Shift+R 重命?nbsp;(是我自己最q的一个了(jin),其是变量和cȝRename,比手工方法能节省很多力_?
Alt+Shift+M 抽取Ҏ(gu) (q是重构里面最常用的方法之一?其是对一大堆泥团代码有用)
Alt+Shift+C 修改函数l构(比较实用,有N个函数调用了(jin)q个Ҏ(gu),修改一ơ搞?
Alt+Shift+L 抽取本地变量( 可以直接把一些魔法数字和字符串抽取成一个变?其是多处调用的时?
Alt+Shift+F 把Class中的local变量变(sh)ؓ(f)field变量 (比较实用的功?
Alt+Shift+I 合ƈ变量(可能q样说有点不妥Inline)
Alt+Shift+V Ud函数和变?不怎么常用)
Alt+Shift+Z 重构的后(zhn)药(Undo)
~辑
作用?nbsp;功能 快捷?nbsp;
全局 查找q替?nbsp;Ctrl+F
文本~辑?nbsp;查找上一?nbsp;Ctrl+Shift+K
文本~辑?nbsp;查找下一?nbsp;Ctrl+K
全局 撤销 Ctrl+Z
全局 复制 Ctrl+C
全局 恢复上一个选择 Alt+Shift+↓
全局 剪切 Ctrl+X
全局 快速修?nbsp;Ctrl1+1
全局 内容辅助 Alt+/
全局 全部选中 Ctrl+A
全局 删除 Delete
全局 上下文信?nbsp;Alt+Q?br />
Alt+Shift+?
Ctrl+Shift+Space
Java~辑?nbsp;昄工具提示描述 F2
Java~辑?nbsp;选择装元素 Alt+Shift+↑
Java~辑?nbsp;选择上一个元?nbsp;Alt+Shift+←
Java~辑?nbsp;选择下一个元?nbsp;Alt+Shift+→
文本~辑?nbsp;增量查找 Ctrl+J
文本~辑?nbsp;增量逆向查找 Ctrl+Shift+J
全局 _脓(chung) Ctrl+V
全局 重做 Ctrl+Y
查看
作用?nbsp;功能 快捷?nbsp;
全局 攑֤ Ctrl+=
全局 ~小 Ctrl+-
H口
作用?nbsp;功能 快捷?nbsp;
全局 Ȁzȝ辑器 F12
全局 切换~辑?nbsp;Ctrl+Shift+W
全局 上一个编辑器 Ctrl+Shift+F6
全局 上一个视?nbsp;Ctrl+Shift+F7
全局 上一个透视?nbsp;Ctrl+Shift+F8
全局 下一个编辑器 Ctrl+F6
全局 下一个视?nbsp;Ctrl+F7
全局 下一个透视?nbsp;Ctrl+F8
文本~辑?nbsp;昄标尺上下文菜?nbsp;Ctrl+W
全局 昄视图菜单 Ctrl+F10
全局 昄pȝ菜单 Alt+-
D
作用?nbsp;功能 快捷?nbsp;
Java~辑?nbsp;打开l构 Ctrl+F3
全局 打开cd Ctrl+Shift+T
全局 打开cd层次l构 F4
全局 打开声明 F3
全局 打开外部javadoc Shift+F2
全局 打开资源 Ctrl+Shift+R
全局 后退历史记录 Alt+←
全局 前进历史记录 Alt+→
全局 上一?nbsp;Ctrl+,
全局 下一?nbsp;Ctrl+.
Java~辑?nbsp;昄大纲 Ctrl+O
全局 在层ơ结构中打开cd Ctrl+Shift+H
全局 转至匚w的括?nbsp;Ctrl+Shift+P
全局 转至上一个编辑位|?nbsp;Ctrl+Q
Java~辑?nbsp;转至上一个成?nbsp;Ctrl+Shift+↑
Java~辑?nbsp;转至下一个成?nbsp;Ctrl+Shift+↓
文本~辑?nbsp;转至?nbsp;Ctrl+L
搜烦(ch)
作用?nbsp;功能 快捷?nbsp;
全局 出现在文件中 Ctrl+Shift+U
全局 打开搜烦(ch)对话?nbsp;Ctrl+H
全局 工作Z的声?nbsp;Ctrl+G
全局 工作Z的引?nbsp;Ctrl+Shift+G
文本~辑
作用?nbsp;功能 快捷?nbsp;
文本~辑?nbsp;改写切换 Insert
文本~辑?nbsp;上滚?nbsp;Ctrl+↑
文本~辑?nbsp;下滚?nbsp;Ctrl+↓
文g
作用?nbsp;功能 快捷?nbsp;
全局 保存 Ctrl+X
Ctrl+S
全局 打印 Ctrl+P
全局 关闭 Ctrl+F4
全局 全部保存 Ctrl+Shift+S
全局 全部关闭 Ctrl+Shift+F4
全局 属?nbsp;Alt+Enter
全局 新徏 Ctrl+N
目
作用?nbsp;功能 快捷?nbsp;
全局 全部构徏 Ctrl+B
源代?br />
作用?nbsp;功能 快捷?nbsp;
Java~辑?nbsp;格式?nbsp;Ctrl+Shift+F
Java~辑?nbsp;取消注释 Ctrl+\
Java~辑?nbsp;注释 Ctrl+/
Java~辑?nbsp;d导入 Ctrl+Shift+M
Java~辑?nbsp;l织导入 Ctrl+Shift+O
Java~辑?nbsp;使用try/catch块来包围 未设|,太常用了(jin)Q所以在q里列出,自己讄?br />
也可以用Ctrl+1自动修正?nbsp;
q行
作用?nbsp;功能 快捷?nbsp;
全局 单步q回 F7
全局 单步跌 F6
全局 单步跛_ F5
全局 单步跛_选择 Ctrl+F5
全局 调试上次启动 F11
全局 l箋(hu) F8
全局 使用qo(h)器单步执?nbsp;Shift+F5
全局 d/去除断点 Ctrl+Shift+B
全局 昄 Ctrl+D
全局 q行上次启动 Ctrl+F11
全局 q行臌 Ctrl+R
全局 执行 Ctrl+U
重构
作用?nbsp;功能 快捷?nbsp;
全局 撤销重构 Alt+Shift+Z
全局 抽取Ҏ(gu) Alt+Shift+M
全局 抽取局部变?nbsp;Alt+Shift+L
全局 内联 Alt+Shift+I
全局 Ud Alt+Shift+V
全局 重命?nbsp;Alt+Shift+R
全局 重做 Alt+Shift+Y
]]>
来的字符的意义,被定义的转义字符通常使用'\',但是也可以用其他的W号?/p>
实例Q?/p>
SQL> select * from t11 where name like '%_%';
NAME
----------
aa_a
aaa
SQL> select * from t11 where name like '%\_%' escape '\';
NAME
----------
aa_a
注意Q如果是 '/' 作ؓ(f)(g)索字W? 必须 ?'/' 作ؓ(f)转义W? 正斜扛也一?
select * from wan_test where psid like '%//%' escape '/'
---- 通过对用户反映情늚分析Q发现字W集的设|不当是影响ORACLE数据库汉字显C的关键问题。那么字W集是怎么一?x)事呢?字符集是ORACLE 为适应不同语言文字昄而设定的。用于汉字显C的字符集主要有ZHS16CGB231280QUS7ASCIIQW(xu)E8ISO8859P1{。字W集不仅需在服务器端存在,而且客户端也必须有字W集注册。服务器端,字符集是在安装ORACLE时指定的Q字W集登记信息存储在ORACLE数据库字典的V$NLS_PARAMETERS表中Q客L(fng)Q字W集分两U情况,一U情冉|sql*net 2.0以下版本Q字W集是在windows的系l目录下的oracle.ini文g中登记的Q另一U情冉|sql*net 2.0以上Q即32位)(j)版本Q字W集是在windows的系l注册表中登记的。要在客L(fng)正确昄ORACLE 数据库汉字信息,首先必须使服务器端的字符集与客户端的字符集一_(d)其次是加载到ORACLE数据库的数据字符集必M服务器指定字W集一致。因此,把用户存在的问题归纳分类Q生汉字显C异常的原因大致有以下几U:(x)
---- 1. 1服务器指定字W集与客户字W集不同Q而与加蝲数据字符集一致?
---- q种情况是最常见的,只要把客L(fng)的字W集讄正确卛_Q解军_法见2.1?
---- 1. 2服务器指定字W集与客户字W集相同,与加载数据字W集不一致?
---- q类问题?sh)般发生在ORACLE版本升或重新安装系l时选择?jin)与原来服务器端不同的字W集Q而恢复加载的备䆾数据仍是按原字符集卸出的场合,以及(qing)加蝲从其它用不同字W集的ORACLE数据库卸出的数据的情c(din)这两种情况中,不管服务器端和客L(fng)字符集是否一致都无法昄汉字。解军_法见2.2?
---- 1.3服务器指定字W集与客户字W集不同,与输入数据字W集不一致?
---- q种情况是在客户端与服务器端字符集不一致时Q从客户端输入了(jin)汉字信息。输入的q些信息即便是把客户端字W集更改正确Q也无法昄汉字。解军_法见2.3?
---- 2Q解军_?/strong>
---- 下面分别对上述三种情况l出解决办法。ؓ(f)?jin)叙q方便,假设客户端用WINDOWS95/98环境Qƈ已成功地配置?jin)TCP/IP协议Q安装了(jin)ORACLE的sql*netQsql*pluse产品?
---- 2.1 讄客户端字W集与服务器端字W集一?
---- 假设当前服务器端使用US7ASCII字符集?
---- Q?Q查看服务器端字W集
---- 通过客户端或服务器端的sql*plusdORACLE的一个合法用P执行下列SQL语句Q?
SQL > select * from V$NLS_PARAMETERS parameter value NLS_LANGUAGE AMERICAN NLS_TERRITORY AMERICA …. …. NLS_CHARACTERSET US7ASCII NLS_SORT BINARY NLS_NCHAR_CHARACTERSET US7ASCII
---- 从上q列表信息中可看出服务器端ORACLE数据库的字符集ؓ(f)'US7ASCII'?
---- Q?Q按照服务器端字W集对客L(fng)q行配置
---- 配置Ҏ(gu)有两U:(x)
---- 在安装ORACLE的客L(fng)产品软gӞ选择与ORACLE服务端一致的字符集(本例为US7ASCIIQ即可?
---- Ҏ(gu)ORACLE 客户端所选sql*net 的版本分Z列两U情况:(x)
---- a. 客户端ؓ(f) sql*net 2.0 以下版本
---- q入Windows的系l目录,~辑oracle.ini文gQ用US7ASCII替换原字W集Q重新启动计机Q设|生效?
---- b. 客户端ؓ(f) sql*net 2.0 以上版本
---- 在WIN98 ?q?行REGEDIT,W一步选HKEY_LOCAL_MACHINE,W二步选择SOFTWAREQ?W三步选择 ORACLEQ?W四步选择 NLS_LANGQ???与服 ???????W?集(本例为:(x)AMERICAN_AMERICAN.US7ASCIIQ?
---- 2.2 强制加蝲数据字符集与服务器端字符集一?
---- 假设要加载数据从原ORACLE数据库卸出时的字W集为US7ASCIIQ当前ORACLE服务器字W集为WE8ISO8859P1?
---- 下面提供三种解决Ҏ(gu)Q?
---- Q?Q?服务器端重新安装ORACLE
---- 在重新安装ORACLE 旉择与原卸出数据一致的字符集(本例为US7ASCIIQ?
---- 加蝲原卸出的数据?
---- q种情况仅仅使用于空库和h同一U字W集的数据?
---- Q?Q强行修Ҏ(gu)务器端ORACLE当前字符?
---- 在用imp命o(h)加蝲数据前,先在客户端用sql*plusdsystem DBA用户Q执行下列SQL语句q行当前ORACLE数据库字W集修改Q?
SQL > create database character set US7ASCII * create database character set US7ASCII ERROR at line 1: ORA-01031: insufficient privileges
---- 你会(x)发现语句执行q程中,出现上述错误提示信息Q此时不用理?x),实际上ORACLE数据库的字符集已被强行修改ؓ(f)US7ASCIIQ接着用imp命o(h)装蝲数据。等数据装蝲完成以后Qshutdown 数据库,再startup 数据库,用合法用L(fng)录ORACLE数据库,在sql>命o(h)提示W下Q运行select * from V$NLS_PARAMETERSQ可以看到ORACLE数据库字W集已复原,q时再查看有汉字字符数据的表Ӟ汉字已能被正显C?
---- Q?Q利用数据格式{储,避开字符集限?
---- q种Ҏ(gu)主要用于加蝲外来ORACLE数据库的不同字符集数据。其Ҏ(gu)如下Q?
---- 先将数据加蝲到具有相同字W集的服务器上,然后用{换工具卸Zؓ(f)foxbase 格式或access格式数据库,再用转换工具转入C同字W集的ORACLE数据库中Q这样就避免?jin)ORACLE字符集的困扰。目前数据库格式转换的工具很?象power builder5.0以上版本提供的pipelineQMicrosoft Access数据库提供的数据导入/导出功能{。{换方法参见有兌料说明?
---- 2.3匚w字符集替换汉?
---- 对于1.3提到的情况,没有很好的办法,只能先把客户端与服务器端字符集匹配一致后Q根据原输入汉字的特征码替换汉字字符部分?
ORACLE中的模糊查询是靠LIKE操作W来完成的?
现在我们来看一下LIKE操作W用过E中的一些具体的问题
%Q代?个或者多个字W?
_(下划U?:代表一个字W?
比如Q?
(1)
select ename from emp
where ename like 'S%';
上面q个例子查询出的是以大写S为名字首字母的员工的员工姓名
(2)
select ename from emp
where ename like '_A%';
上面的这个例子中Q匹配的是名字中第二个字母为A的那些员?
除了(jin)上面两种基本的用法外Q我们可能还?sh)(x)碰到这L(fng)问题Q比如在员工的名字里包含有‘%’
或?_',那么我们该怎么办呢Q?
比如假如有一个员工的姓名为tom_catQ那么我们如何查询出和这个员工相关的一些信息呢Q?
我们的SQL语句应该q样来写Q?
select * from emp
where ename like '%\_%' escape '\';
关于escape的用法详见:(x)博客中《Oracle中ESCAPE关键字用法?a style="color: #800080" href="http://www.aygfsteel.com/ftqiuqiu/articles/263183.html">http://www.aygfsteel.com/ftqiuqiu/articles/263183.html
1.基本l构
CREATE OR REPLACE PROCEDURE 存储q程名字
(
参数1 IN NUMBER,
参数2 IN NUMBER
) IS
变量1 INTEGER :=0;
变量2 DATE;
BEGIN
END 存储q程名字
2.SELECT INTO STATEMENT
select查询的结果存入到变量中,可以同时多个列存储多个变量中,必须有一?br />
记录Q否则抛出异?如果没有记录抛出NO_DATA_FOUND)
例子Q?
BEGIN
SELECT col1,col2 into 变量1,变量2 FROM typestruct where xxx;
EXCEPTION
WHEN NO_DATA_FOUND THEN
xxxx;
END;
...
3.IF 判断
IF V_TEST=1 THEN
BEGIN
do something
END;
END IF;
4.while 循环
WHILE V_TEST=1 LOOP
BEGIN
XXXX
END;
END LOOP;
5.变量赋?br />
V_TEST := 123;
6.用for in 使用cursor
...
IS
CURSOR cur IS SELECT * FROM xxx;
BEGIN
FOR cur_result in cur LOOP
BEGIN
V_SUM :=cur_result.列名1+cur_result.列名2
END;
END LOOP;
END;
7.带参数的cursor
CURSOR C_USER(C_ID NUMBER) IS SELECT NAME FROM USER WHERE TYPEID=C_ID;
OPEN C_USER(变量?;
LOOP
FETCH C_USER INTO V_NAME;
EXIT FETCH C_USER%NOTFOUND;
do something
END LOOP;
CLOSE C_USER;
8.用pl/sql developer debug
q接数据库后建立一个Test WINDOW
在窗口输入调用SP的代?F9开始debug,CTRL+N单步调试