存储过程返回中文码?知道存储过程名怎么查看存储过程代码

精选笔记 bchgfjyf56547 2024-04-15 09:34 10 0

一、谁知道比较正式的数据库存储过程的代码注释规范

代码注释规范没有什么正式不正式的,只要能符合自己要求,对个人和公司有帮助的规范就是好的规范,我这有一个存储过程开头的规范的例子,希望对你有帮助,至于存储过程的代码语句注释像一般的程序代码注释一样,可以参照东软等大型公司的代码规范和注释。

/*

******************************************************************************

* Program Name:项目名称

*

* Program ID:存储过程名

*

* Commentary:公司信息

*

*$Revision:版本

*

*$Author:作者

*$Date:做成日

*

******************************************************************************

*/

CREATE PROCEDURE存储过程名

(

@TempTableInfo VARCHAR(150)

)

AS

---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---

-- Default behavior

---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---

SET CONCAT_NULL_YIELDS_NULL ON-- ON: NULL operation is NULL

SET ARITHABORT ON-- ON: Div 0, overflow is error

SET ANSI_PADDING ON-- ON: not truncate trailing space

SET ANSI_WARNINGS ON-- ON: warn NULL operation, and ARITHABORT ON

SET CURSOR_CLOSE_ON_COMMIT OFF-- ON: When COMMIT or ROLLBACK, cursor is automatically closed.

SET IMPLICIT_TRANSACTIONS OFF-- ON: use implicit transaction

SET XACT_ABORT ON-- ON: If error is occured, transaction is automatically rollbacked.

SET NOCOUNT ON-- ON: not display record count

---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---

-- Declaration of System Variables

---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---

-- for System Informations

DECLARE@rowcount INT--@@ROWCOUNT

---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---

-- Declaration of Users Variables

---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---

DECLARE@TableName VARCHAR(150)

DECLARE@str VARCHAR(8000)

DECLARE@str2 VARCHAR(8000)

DECLARE@Result INT

DECLARE@MasterDB VARCHAR(100)

---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---

-- Main Process

---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---*---

往下是存储过程的具体内容。

二、知道存储过程名怎么查看存储过程代码

使用SQL Server Management Studio在列表中查看即可。

步骤:

1、登录SQL Server Management Studio。

2、左边的树点击要查询的库左边的“+”,点开后会变成“-”,下同。

3、点击可编程性-存储过程。

4、如果是自定义的存储过程,如上图的dbo.p_test,则右键,然后点击修改。

5、然后就能看到存储过程体,如图:

6、如果是查看系统存储过程,在第3步后点击系统存储过程,然后找到要查的名字,同第4,5步即可。

三、PLSQL 表备注,存储过程里的中文都显示乱码,请问怎么处理

方法/步骤

登陆plsql,执行sql语句,输出的中文标题显示成问号????;条件包含中文,则无数据输出

输入sql语句select

*

from

V$NLS_PARAMETERS查看字符集,查看第一行value值是否为简体中文

进入注册表,依次单击HKEY_LOCAL_MACHINE

--->SOFTWARE

--->

ORACLE--->home(小编安装的是Oracle

11g,这里显示成KEY_OraDb11g_home1),找到NLS_LANG,查看数值数据是否为:SIMPLIFIED

CHINESE_CHINA.ZHS16GBK

如果以上设置都没有问题,那就要查看下环境变量的设置,查看是否有变量NLS_LANG,没有则新建该变量

新建变量,设置变量名:NLS_LANG,变量值:SIMPLIFIED

CHINESE_CHINA.ZHS16GBK,确定即可

6

退出plsql,重新登陆plsql。输入sql语句,执行,中文标题终于正常显示,也有数据输出了

四、oracle 如何将存储过程的代码隐藏

可以例用Oracle自带的Wrap工具实现,此工具在$ORACLE_HOME/BIN目录下,具体如下

1、设置字符集环境变量

set NLS_LANG=CHINESE_CHINA.ZHS16GBK

2、创建一个存储过程文件

在E:\下创建test.sql文件,内容如下:

create or replace procedure test1(i in number) as

begin

dbms_output.put_line('输入参数是'||to_char(i));

end;

3、加密

c:\> cd%ORACLE_HOME%\BIN

c:\>wrap iname=e:\test1.sql

PL/SQL Wrapper: Release 8.1.7.0.0- Production on Tue Nov 27 22:26:48 2001

Copyright(c) Oracle Corporation 1993, 2000.All Rights Reserved.

Processing test1.sql to test1.plb

4、运行test1.plb

sqlplus/nolog

SQL>conn TEST/TEST@db01

SQL>@e:\a.plb

过程已创建。

5、运行存储过程

SQL> set serveroutput on

SQL> execute test1(1);

输入参数是1

PL/SQL过程已成功完成。

6、查看存储过程的代码

SQL> select name,text from all_source where type='PROCEDURE' and name='TEST1';

结果:看不到其原码