plsql 的使用

本文详细介绍了使用PL/SQLDeveloper时的高级技巧,包括记住登录密码、执行单条SQL语句、格式化SQL语句、查看执行计划、调试存储过程以及防止登录超时和不备份SQL文件等。同时,提供了Oracle数据库免安装客户端连接方法,并指导如何配置环境以解决字符集不匹配导致的连接超时问题。

1、PL/SQL Developer记住登陆密码
   在使用PL/SQL Developer时,为了工作方便希望PL/SQL Developer记住登录Oracle 的用户名和密码;
设 置方法:PL/SQL Developer 7.1.2  ->tools->Preferences->Oracle->Logon History , “Store history”是默认勾选的,勾上“Store with password” 即可,重新登录在输入一次密码则记住了。
2、执行单条SQL 语句
   在使用PL/SQL Developer的SQL Window时,按F8键,PL/SQL Developer默认是执行该窗口的所有SQL语句,需要设置为鼠标所在的那条SQL语句,即执行当前SQL语句;
设置方法:PL/SQL Developer 7.1.2 -->tools->Preferences-->Window types ,勾上“AutoSelect Statement” 即可。
3、格式化SQL语句
   在使用PL/SQL Developer的SQL Window时,有时候输入的SQL语句太长或太乱,希望能用比较通用的写法格式话一下,这样看起来会好看些,也好分析;
使 用方法:选中需要格式化的SQL语句,然后点击工具栏的PL/SQL beautifier按钮即可.
4、查看执行计划
  在使用PL/SQL Developer的SQL Window时,有时候输入的SQL语句执行的效率,分析下表结构,如何可以提高查询的效率,可以通过查看Oracle提供的执行计划;
使用方 法:选中需要分析的SQL语句,然后点击工具栏的Explain plan按钮(即执行计划),或者直接按F5即可。
5、调试存储过程
   在使用PL/SQL Developer操作Oracle时,有时候调用某些存储过程,或者调试存储过程;
调用存储过程的方法:首先,在 PL/SQL Developer左边的Browser中选择Procedures,查找需要调用的存储过程;然后,选中调试的存储过程,点击右键,选择Test,在弹 出来的Test scrīpt窗口中,对于定义为in类型的参数,需要给该参数的Value输入值;最后点击上面的条数按钮:Start debugger 或者按F9;最后点击:RUN 或者Ctrl+R
6.左下角显示window list
  点击菜单 tools -> window list, 将弹出的小窗口拖到左下角合适位置,然后点击菜单 window->save layout
7.防 止登录超时
  tools->Preferences-->Oracle->Connection  选择 "check connection"
8.不备份sql文件
  tools->Preferences->Files->backup,页面中backup files中选择 disabled

====== 引用如下======

连接oracle10g免安 装 客户端解决办法
首先,在安装ORACLE服务器的机器上搜索下列文件,
oci.dll
ocijdbc10.dll
ociw32.dll
orannzsbb10.dll
oraocci10.dll
oraociei10.dll
sqlnet.ora
tnsnames.ora
classes12.jar
ojdbc14.jar
制 作成压缩文件,配置目标计算机使用。
1.将 oracleinstantclient.rar解压缩到一个目录, 如d:/oracleinstantclient
2.配置 d:/oracleinstantclient的tnsnames.ora文件,只需要修改其中的服务器 地址、服务名称和端口。
3、配置环境变量,在 PATH变量中加入d:/oracleinstantclient
4、注册表加入下面键值      
[HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Session Manager/Environment]
"LD_LIBRARY_PATH"="d:/OracleInstantClient"
"NLS_LANG"="AMERICAN_AMERICA.ZHS16GBK"
"TNS_ADMIN"="d:/OracleInstantClient"
5、 如果是ASP.NET应用,则要为ASPNET用户分配d:/oracleinstantclient文件夹的读写权限。
通过上面的设置后,即可 实现免安装ORACLE客户端,连接到ORACLE数据库服务器。
也可以将上面解压缩后的文件和手动过程制作成安装包,实现自动安装。
注 意:
1、用上面的方法,连接oracle9.2,应该也没有问题。
2、如果使用JDBC连接,需要到官网下载 instantclient-jdbc-win32-10.1.0.2.zip:   包含JDBC   Driver的包

=====================================================================================

配 置完毕,第一遍没连上(TNS连接超时),重启PC再测试连接,跳出错误:

ORA-12705:invalid or unknown NLS parameter value specified.

说明进步了,有希望 :P 去修改NLS_LANG同DB Server 上注册表里的值,同样要重启PC,再 试,OK!!!

1.查看数据库 字符集

    数据库服务器字符集select  *  from nls_database_parameters,其来源于props$,是表示数据库的字符集。
   
  客户端字符集环境select * from nls_instance_parameters,其来源于v$parameter,
   
  表示客户端的字符集的设置,可能是参数文件,环境变量或者是注册表
  
  会话字符集环境 select * from nls_session_parameters,其来源于v$nls_parameters,表示会话自己的设置,可能是会话的环境变量或者是alter session完成,如果会话没有特殊的设置,将与nls_instance_parameters一致。
  
  客户端的字符集要求 与服务器一致,才能正确显示数据库的非Ascii字符。如果多个设置存在的时候,alter session>环境变量>注册表>参数文件
  
  字符集要求一致,但是语言设置却可以不同,语言设置建议用英文。 如字符集是zhs16gbk,则nls_lang可以是American_America.zhs16gbk。

2、修改字符集
8i 以上版本可以通过alter database来修改字符集,但也只限于子集到超集,不建议修改props$表,将可能导致严重错误。
  
   Startup nomount;
  Alter database mount exclusive;
  Alter system enable restricted session;
  Alter system set job_queue_process=0;
   Alter database open;
  Alter database character set zhs16gbk;

3、 怎么查看数据库版本

select * from v$version  

  包含版本信息,核心版本信息,位数信息(32位 或64位)等  

  至于位数信息,在Linux/unix平台上,可以通过file查看,如  

  file $ORACLE_HOME/bin/oracle

PLSQL使用包含多方面内容,以下是一些使用方法和相关指南: ### 数据导入 - 通过EXCEL文件 首先查询表,将查询出来的数据导出为EXCEL以获取格式。接着在EXCEL里编辑信息,然后另存为CSV文件。打开PLSQL,依次点击“Tools” -> “Text Importer”,点击左上角图标导入生成的CSV文件。需注意,打开过的文件可能加密,若导入读不出东西则需要解密。 使用 `select * from all_tables where table_name ='表名’` 查询表的OWNER。在导入配置中,“Data to Oracle” 里 “OWNER” 选择上面查出来的,“Table” 中输入要导入的表名,“Fields” 选择Excel的列,左边 “Field” 选择对应的表字段,可参考下面的 “Result Preview”。点击左下角 “Import” 会弹出提示,若出现 “ORA - 00984” 可选择 “YES”,其他可能出现列名重复等问题,需要对 “Fields” 配置排错。对于仍导入错误的情况,可以选左下角的 “Import to Script” 导出sql语句修改之后再正常导入。导入成功后,可以选择上面的 “Save Definition as” 导出刚才的 “Fields” 等配置,下次再插入时选择 “Open Definition” 导入配置,无需每次都配置列名 [^1]。 ### 代码示例说明 在PLSQL中,常见的SQL操作示例如下: ```sql -- 查询表中的所有数据 SELECT * FROM your_table_name; -- 插入数据 INSERT INTO your_table_name (column1, column2) VALUES ('value1', 'value2'); -- 更新数据 UPDATE your_table_name SET column1 = 'new_value' WHERE condition; -- 删除数据 DELETE FROM your_table_name WHERE condition; ``` ### 异常处理示例 在PLSQL块中进行异常处理: ```plsql DECLARE v_variable NUMBER; BEGIN SELECT column_name INTO v_variable FROM your_table_name WHERE condition; EXCEPTION WHEN NO_DATA_FOUND THEN DBMS_OUTPUT.PUT_LINE('未找到数据'); WHEN TOO_MANY_ROWS THEN DBMS_OUTPUT.PUT_LINE('返回了多行数据'); WHEN OTHERS THEN DBMS_OUTPUT.PUT_LINE('发生其他错误: ' || SQLERRM); END; ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值