Sql Developer 调试函数和过程 Sql window Command window Program window Test window 区别

╰+哭是因爲堅強的太久メ 2022-04-12 04:08 707阅读 0赞

plsql的命令(command)窗口与sql窗口有什么区别

2017年09月07日 09:22:55 236004 阅读数:10597 标签: command窗口与sql窗口 更多

个人分类: Oracle数据库工具使用

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/QQ578473688/article/details/77877092

PW(程序窗口):
可以执行 sql,sqlplus 相关的语句,例如存储过程,方法,一般用来开发程序用的。
TW(测试窗口):
一般是用来测试存储过程等的debug。
SW(SQL窗口):
执行的是dml,ddl语句,主要用户语句的查询、显示、执行统计信息等(应用最多的一个窗口)。例如 desc table不能在SQL
window中执行,必须在Command window中才能执行。
RW(报告窗口):
方便用于展示有聚合查询的用图表形式展示的窗口,例如sum(),count()等,有x,y轴的。
CW(command命令窗口):
除了可以执行sql/sqlplus 相关的命令、sql脚本,还可以执行更多的命令,例如call 等。
EPW(解释计划窗口):
解释执行计划的,调优时,经常用到。
DW(图表窗口):

command窗口是命令窗口,即为sqplus窗口,有命令提示符,识别sqlplus命令,基本的命令都可以执行
sql窗口仅可执行DDL、select、DML等
DML(data manipulation language)是数据操纵语言:它们是SELECT、UPDATE、INSERT、DELETE,就象它的名字一样,这4条命令是用来对数据库里的数据进行操作的语言。
DDL(data definition language)是数据定义语言:DDL比DML要多,主要的命令有CREATE、ALTER、DROP等,DDL主要是用在定义或改变表(TABLE)的结构,数据类型,表之间的链接和约束等初始化工作上,他们大多在建立表时使用。

DCL(DataControlLanguage)是数据库控制语言:是用来设置或更改数据库用户或角色权限的语句,包括(grant,deny,revoke等)语句。

SQL语言16种基本命令:

DDL命令:CREATE,ALTER,DROP,RENAME,TRUNCATE,COMMENT

DML命令:SELECT,INSERT,UPDATE,DELETE,MERGE

TCL命令:SAVEPOINT,ROLLBACK,COMMIT,GRANT,REVOKE

参考:http://blog.csdn.net/ape55/article/details/73530419 http://blog.csdn.net/qq\_24452475/article/details/53352458

https://blog.csdn.net/qq578473688/article/details/77877092

pl/sql关于新建不同的窗口

2017年11月09日 10:05:28 墨迹世界 阅读数:661 标签: plsql存储编程调试测试 更多

个人分类: oracle

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq\_26489817/article/details/78486175

使用pl/sql。用的最多的就是 new sql window.

但是pl/sql,除了提供新建sql查询窗口,还提供了其他的window

1.new sql window:sql窗口主要用于查插删改。还可以管理用户

2.new command window:命令窗口。使用起来更像sqlplus,功能比sql窗口多,比如导入,导出。在这个窗口下操作,等同于在cmd下操作(自我感觉)

3.new report window:报表窗口。将查询结果生成报表。可以保存为HTML,PDF。还可以根据数据,生成柱状图,饼图,折线图。

4.new Explain plan window:解释计划窗口。分析所执行的SQL语句。把SQL执行的过程,一步一步展现出来。

5.new Test window.测试窗口。debug,按F9,单步调试。

6.new Diagram window:图表窗口。没明白怎么用的。

7.new Program window.程序窗口。创建触发器,存储过程,包头(package:声明),包体(package body:具体实现),当然也可以创建一个空白的程序窗口。

使用Program window,更加方便(会帮你造好壳),但是,用sql window写程序也是可以的。

https://blog.csdn.net/qq_26489817/article/details/78486175

PL/SQL如何调试Oracle存储过程

from:http://jingyan.baidu.com/article/3a2f7c2e144d2826aed61167.html

调试过程对找到一个存过的bug或错误是非常重要的,Oracle作为一款强大的商业数据库,其上面的存过少则10几行,多则上千行,免不了bug的存在,存过上千行的话,找bug也很费力,通过调试可以大大减轻这种负担。

工具/原料

  • PL\SQL
  • Oracle

方法/步骤

  1. 首先在PL/SQL的左侧资源栏中展开Procedures项(图中位置1),然后再其上面的搜索框中(图中位置2)输入存过名称的关键词,按回车键搜索要调试的存过,不停的回车,直到找到想要调试的存过。

    PL/SQL如何调试Oracle存储过程

  2. 找到想要调试的存过,左键单击选中该存过(图中位置1),然后右键单击该存过,从弹出菜单中选择“Test”项(图中位置2)。

    PL/SQL如何调试Oracle存储过程

  3. 单击“Test”后,PL\SQL会打开调试界面,图中位置1的按钮就是开始调试的按钮,在调试之前要填写存过的参数,位置2就是填写参数的地方,如果有多个参数,会有多行参数框,按参数名填写相应的参数即可。

    PL/SQL如何调试Oracle存储过程

  4. 填写完参数,单击开始调试按钮后,调试的界面会发生一些变化。图中位置1的变化,说明存过已经处于执行状态,别人不能再编译或者执行。位置2的按钮就是执行按钮,单击这个按钮存过会执行完成或者遇到bug跳出,否则是不会停下来的,调试时不会用这个按钮的。位置3的按钮才是关键——单步执行,就是让代码一行一行的执行,位置4的按钮是跳出单步执行,等待下一个指令。

    PL/SQL如何调试Oracle存储过程

  5. 单击“单步执行”,存过开始单步执行。界面中每一次执行的代码会高亮显示(图中位置1),如果想要看某个变量具体的值,就在位置2的地方输入该变量名,然后变量的值会显示在位置3的地方。

    PL/SQL如何调试Oracle存储过程

  6. 调试的时候,每一次单步执行的时候要记一下执行代码的行数,图中位置3的数字就是当前执行代码的行数,就是第几行。如果过程单步执行到某行后,再单步执行的时候,存过就退出,那么错误就在该行的下一行。

    PL/SQL如何调试Oracle存储过程

  7. 代码执行到24行,在往下执行时,直接转到exception的地方,也就是异常处理的部分。

    PL/SQL如何调试Oracle存储过程

  8. 这说明我们代码中的错误在24和25行上,我们打开存过,浏览到24行和25行附近,发现25行和24行使用了两个变量,记住那两个变量。重新开始调试过程。

    PL/SQL如何调试Oracle存储过程

  9. 单步的执行时候把刚才那两个变量名填写到变量查看框,一边观察变量值变化,一边单步执行,执行到24行的时候,发现一个变量已经有值了,而另一个变量的值为null。错误原因明朗了吧?就是变量没有赋值或者初始话,给该变量赋值后存过就不报错了。

    PL/SQL如何调试Oracle存储过程

https://www.cnblogs.com/liuqiyun/p/6589814.html

PL/SQL Developer中调试oracle的存储过程

作者:iamlaosong

唉,真土,曾经用Toad。一直用dbms_output.put_line调试存储过程,仅仅认为不方便,用上PL/SQL Developer后,习惯性的还是用这种方法。人都是有惰性的。今天分析存储过程生成的数据,实在认为不便,网上搜了一下,PL/SQL Developer中调试oracle的存储过程的方法,事实上非常easy。我知道学会使用PL/SQL Developer的调试功能,对于编写复杂的存储过程,包,funtion…非常有帮助,对运行存储过程形成的结果进行分析时也非常实用处,学习之后,果然、当真方便。现将相关步骤摘录例如以下:

1、首先是编写存储过程,编译无误;
2、加入debug信息。为了可以单步跟踪存储过程,须要为其所在的包加入debug信息,右键点击须要调试的存储过程名称。在弹出菜单中选中[add debug information],这样就为包体加入了调试信息;

3、选择须要调试的存储过程名称。点击右键,在弹出菜单中 选择[Test]。进去測试窗体,測试窗体中有为了測试该存储过程自己主动所产生的代码。当然你也能够自己另外增加和改动代码。自己主动生成的代码已经足够了。

  1. begin
  2. -- Call the procedure
  3. sxjk_sn_jsgfl(pinput => :pinput);
  4. end;

4、有參数的存储过程须要在以下的參数输入表格中输入參数值,见下图中的參数值“n”。

Center

5、開始调试。点击工具条上Start图标或者按F9进入调试模式。以后的调试过程跟我们熟悉的的调试过程就一样了(以下是菜单或者工具条上的部分调试功能):
Run(Ctrl+R)全速执行,到断点停下。
Step into(Ctrl+N)运行一步。假设是调用过程。进入子过程。
Step over(Ctrl+O)运行一步,不管什么语句。
Step out(Ctrl+T)运行完过程,直到从过程中退出到上一级。
。。

。。。


6、调试过程中能够设置断点(点击断点语句的左側灰色空白处,出现一个红色的叉就是断点,再次点击能够取消),能够查看过程中的变量值(鼠标指向变量时,系统自己主动显示这个变量的值)。

假设无法单步运行或者无法设置断点。可能是上面第二步[add debug information]没有做。

https://www.cnblogs.com/mfrbuaa/p/5406802.html

pl/sql command window 初步接触

pl/sql command window基本操作

PL/SQL Developer应用两年了,今天第一次应用command window。

command window类似于sqlplus窗口:

1、用Esc键退出到SQL行。

2、调用存储过程:Begin procedure xxx(); end; 时,先回车到下一行,再/ ,再按enter键,才能执行出结果。

3、调用存储过程前,需要先打开 set serveroutput on 否则执行不出结果。

4、SQL window中调用完存储过程之后,点击SQL旁边的Output小窗口也可以看到输出结果。

5、在Test window中调用也可以看到,底下可以输入变量的值。旁边也有一个DBMS Output可以看到结果。

6、例子:

create table BOOK(编号 number(10),书名 varchar2(20),价格 varchar2(20))

insert into BOOK values(100,’aa’,’88.77’)

create or replace procedure query_BOOK(name IN OUT NUMBER,MY_BOOK OUT VARCHAR2,MY_BOOK2 OUT VARCHAR2) is

begin

select 编号 ,书名,价格 INTO name,MY_BOOK,MY_BOOK2 from BOOK where 编号=name;

end query_BOOK;

declare v_name number(10);

v_my_book varchar2(50);

v_my_book2 varchar2(20);

begin

v_name := 100;

query_BOOK(v_name,v_my_book,v_my_book2); —调用存储过程

dbms_output.put_line(‘v_name is: ‘||v_name);

dbms_output.put_line(‘v_my_book is: ‘||v_my_book);

dbms_output.put_line(‘v_my_book2 is: ‘||v_my_book2);

exception

when others then

dbms_output.put_line(sqlerrm);

end;

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3h1aGVuZzg2MDA_size_16_color_FFFFFF_t_70

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3h1aGVuZzg2MDA_size_16_color_FFFFFF_t_70 1

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3h1aGVuZzg2MDA_size_16_color_FFFFFF_t_70 2

标签: pl/sql, command window

https://www.cnblogs.com/yayazi/p/5156612.html

关于在PLSQL中实现DEBUG调试功能的方法

2017年04月07日 14:27:52 samt007 阅读数:2179 标签: oracle调试plsql 更多

个人分类: Oracle PL/SQL技巧

前言
一个健康的PLSQL,应该都带有一套完整的调试逻辑。特别是那些功能很复杂的PLSQL,就更加有必要具备调试功能了。否则,当PLSQL处理数据出现问题的时候,分析(处理)起来会相当的困难。
举个例子,Oracle EBS标准功能的PLSQL(特别是API),如果Oracle没有自带调试功能给我们做看每一步骤的调试结果,单单通过看代码模拟其执行逻辑来找问题,基本上是不可能处理问题的!
当然,我们编写的代码,实际上大部分的都并没有很复杂,所以对调试部分没太高的要求。这里也建议按照实际情况来做。但是一些重要的并且是复杂的功能,还是必须要考虑如何添加调试!
实现调试的办法
现在根据这几年写PLSQL的经验,得出的一套如何在PLSQL中实现调试的方法,特意分享一下。如果有更加好的方法,也可以一起讨论一下!

具体实现办法:
1 首先,统一新建3个客户化的Profile配置来实现调试功能的开关:
CUX:程序调试级别
设置调试的级别。这里是仿照标准功能的调试逻辑来做的一个设定。作用就是是否启用调试,以及调试的数据输出的明细级别!
具体:
XYG_ALD_DEBUG_LEVEL:设置查看调试消息的级别
0:不查看调试(默认值)
1:查看调试程序主要消息级别=1的消息
2:查看消息的调试级别<=2的信息
3:查看消息的调试级别<=3的信息
4:查看消息的调试级别<=4的信息
5:查看消息的调试级别<=5的信息

举个例子,如果我的调试消息设置是:调试级别3,调试显示3的信息。
则当XYG_ALD_DEBUG_LEVEL级别是2的时候,这个3的调试信息是不会显示的。
当XYG_ALD_DEBUG_LEVEL级别大于等于3的时候,这个消息才会显示出来!
具体可以自己写一个例子来理解。

CUX:程序调试方式
就是调试结果显示的方式。
一般来说有下面几种方式:
调试方式XYG_ALD_DEBUG_TYPE:
DBMS_OUTPUT直接输出
FILE_DEBUGLOG文档输出
REQUEST_DEBUGLOG请求日志输出
DATA_DEBUGLOG表格数据输出
DBMS_OUTPUT:这个不用多说了,实际上就是调用DBMS_OUTPUT.PUT_LINE在开发工具直接显示消息。
FILE_DEBUGLOG:这个很重要!不过要配合一些额外的定义,才可以看到这种输出的结果。这种方式的调试结果以文件的形式存在服务器里面。适合那种超大数据量输出的调试信息。
REQUEST_DEBUGLOG:如果PLSQL是在请求中调用的话,可以考虑用这种方式查看调试信息。调试信息会直接显示在请求的日志里面。
DATA_DEBUGLOG表格数据输出:就是将调试的结果输出在fnd_log_messages表。和标准功能的保持一致!

CUX:程序调试文件
结合调试方式= FILE_DEBUGLOG文档输出使用。
就是定义调试结果产生的文件是什么。
注意:如果这个设定为空,则默认文件= XYG_PUB_AUTOMAIL_PKG.XYG_DF_UTL_FILE_DIR||’/’||userenv(‘SESSIONID’)||’.log’

2 PLSQL里面如何使用调试的方法:
首先,在要添加调试逻辑的PKG包体里面,建议直接添加下面这些脚本,二次简单封装一下公用的调试处理包,方便调用:
例如:

  1. CREATE OR REPLACE PACKAGE BODY APPS.XYG_ALBND_PACK_PKG
  2. AS
  3. --===============================================================
  4. -- Debug 处理
  5. --===============================================================
  6. --P_DEBUG_LEVEL:该调试信息的级别
  7. PROCEDURE DEBUGLOG (P_DEBUG_LEVEL IN NUMBER,P_DEBUG_MSG IN VARCHAR2)
  8. IS
  9. BEGIN
  10. XYG_ALD_DEBUG_PKG.DEBUGLOG(' XYG_ALBND_PACK_PKG ',P_DEBUG_LEVEL,P_DEBUG_MSG);
  11. END DEBUGLOG;
  12. --简化版本,默认该消息的是level=1
  13. PROCEDURE DEBUGLOG1 (P_DEBUG_MSG IN VARCHAR2)
  14. IS
  15. BEGIN
  16. XYG_ALD_DEBUG_PKG.DEBUGLOG(' XYG_ALBND_PACK_PKG ',1,P_DEBUG_MSG);
  17. END DEBUGLOG1;
  18. ….
  19. 接着,在需要显示调试消息的地方,直接调用这个函数即可:
  20. DEBUGLOG(1,'GENERATE_XXXXXXXXXXXXX(+)'); 或者:DEBUGLOG1('GENERATE_XXXXXXXXXXXXX(+)');
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

需要注意的是,DEBUGLOG的第一个参数是该消息的显示级别。换句话说,就是你希望这个消息在什么级别显示它!
举个例子,如果设置为3,则消息基本是3级,当设置显示的消息级别大于等于3的时候,该消息会显示。

3 程序如何查看调试的结果:

  1. ------------------------------
  2. ---1 普通在Toadoutput调试样例:
  3. DECLARE
  4. L_RETCODE NUMBER;
  5. L_ERRBUF VARCHAR2(4000);
  6. BEGIN
  7. FND_PROFILE.PUT('XYG_ALD_DEBUG_LEVEL',1);
  8. FND_PROFILE.PUT('XYG_ALD_DEBUG_TYPE','DBMS_OUTPUT');
  9. XYG_ALBND_PACK_PKG.AUTO_CREATE_PACK(
  10. 'PO_HEADERS_ALL'
  11. ,2579287
  12. ,SYSDATE
  13. ,5954
  14. ,'NORMAL'
  15. ,l_retcode
  16. ,l_errbuf
  17. );
  18. DBMS_OUTPUT.PUT_LINE(L_RETCODE||'-'||L_ERRBUF);
  19. END;
  20. ------------------------------
  21. ---2 调试结果文件输出样例:
  22. DECLARE
  23. L_RETCODE NUMBER;
  24. L_ERRBUF VARCHAR2(4000);
  25. BEGIN
  26. FND_PROFILE.PUT('XYG_ALD_DEBUG_LEVEL',2);
  27. FND_PROFILE.PUT('XYG_ALD_DEBUG_TYPE','FILE_DEBUGLOG');
  28. FND_PROFILE.PUT('XYG_ALD_DEBUG_FILE'
  29. ,'/oracle/vis/apps/apps_st/appl/attchment/12.0.0/BATCH_UPLOAD_TEMP/SAMT_TEST001.log');
  30. XYG_ALBND_PACK_PKG.AUTO_CREATE_PACK(
  31. 'PO_HEADERS_ALL'
  32. ,2579287
  33. ,SYSDATE
  34. ,5954
  35. ,'NORMAL'
  36. ,l_retcode
  37. ,l_errbuf
  38. );
  39. DBMS_OUTPUT.PUT_LINE(L_RETCODE||'-'||L_ERRBUF);
  40. END;
  41. --查看文件的路径
  42. SELECT FND_PROFILE.VALUE('XYG_ALD_DEBUG_FILE') FROM DUAL
  43. ------------------------------
  44. --3 如果用数据输出的
  45. DECLARE
  46. L_RETCODE NUMBER;
  47. L_ERRBUF VARCHAR2(4000);
  48. BEGIN
  49. FND_PROFILE.PUT('XYG_ALD_DEBUG_LEVEL',2);
  50. FND_PROFILE.PUT('XYG_ALD_DEBUG_TYPE','DATA_DEBUGLOG');
  51. XYG_ALBND_PACK_PKG.AUTO_CREATE_PACK(
  52. 'PO_HEADERS_ALL'
  53. ,2579287
  54. ,SYSDATE
  55. ,5954
  56. ,'NORMAL'
  57. ,l_retcode
  58. ,l_errbuf
  59. );
  60. DBMS_OUTPUT.PUT_LINE(L_RETCODE||'-'||L_ERRBUF);
  61. END;
  62. ---查看调试信息:
  63. select to_char(systimestamp, 'yyyy-mm-dd hh24:mi:ss:ff3') debug_time,session_id,module||'[---]'||message_text
  64. from fnd_log_messages
  65. where timestamp > sysdate-1
  66. and session_id=userenv('SESSIONID')
  67. order by LOG_SEQUENCE;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71

完工!就是这么的简单,让您写的PLSQL就拥有了完整的而且有非常好扩展性的调试功能!

文档下载以及源代码下载的链接:
http://download.csdn.net/detail/samt007/9806450

https://blog.csdn.net/samt007/article/details/69537289

试玩了plsql中test窗口declare声明变量|lpad函数||plsql sql command test window区别|

在这里先感谢一下itpub高手的帖子答复

Q:

看到的oracle中的for循环or i in 1..100 loop,i都是从1,2,3这样递增的,可是我这里需要i从01,02,03这样递增,9开始是09,10,11,12.
请问这样的for循环怎么写。
具体问题可见http://www.itpub.net/thread-1620912-1-1.html,我想在触发器中加入循环变量,精简我的触发器长度。
ps:我是新手,谢谢大家的帮助

A:

lpad(‘tech’, 7); would return ‘ tech’

lpad(‘tech’, 2); would return ‘te’

lpad(‘tech’, 8, ‘0’); would return ‘0000tech’

lpad(‘tech on the net’, 15, ‘z’); would return ‘tech on the net’

lpad(‘tech on the net’, 16, ‘z’); would return ‘ztech on the net’

每次看到itpub的答复都很激动,一个恢复解决问题。

2012061311074020.jpg

2012061310573754.jpg

lpad函数说明

语法格式如下:

  lpad( string, padded_length, [ pad_string ] )

  string

  准备被填充的字符串;

  padded_length

  填充之后的字符串长度,也就是该函数返回的字符串长度,如果这个数量比原字符串的长度要短,lpad函数将会把字符串截取成从左到右的n个字符;

  pad_string

  填充字符串,是个可选参数,这个字符串是要粘贴到string的左边,如果这个参数未写,lpad函数将会在string的左边粘贴空格。

下面说plsq中的块。

经常看到有人和书上直接写declare,也不在触发器或者存储过程中,可是照样使用,比如:http://zhidao.baidu.com/question/113921713.html

1,我刚开始直接在plsql中的查询窗口sql window使用,报错:

2012061311010147.jpg

13:51更新:

sql windows窗口也是可以显示的,在第二列就是output,仅仅select不行

2012061313523036.jpg

2012061313524257.jpg


2,想到在测试窗口test window,通过(需要点击左上角的start debugger按钮,然后点击run)

复制代码

  1. -- Created on 2012-6-13 by DELL
  2. declare
  3. -- Local variables here
  4. i number;
  5. begin
  6. -- Test statements here
  7. for i in 1..100 loop
  8. dbms_output.put_line(lpad(i,2,'0'));
  9. end loop;
  10. end;

复制代码

2012061311040770.jpg

下面是结果

2012061311041356.jpg

拓展:

1 Command window实现了SQL*Plus的所有功能,允许运行sql*plus命令,sql命令,sql脚本。
2 SQL window用于执行sql语句,显示sql输出,执行统计信息。(测试sql语句,查看表中的数据,更新数据)
例如 desc table(查看表结构)不能在SQL window中执行,必须在Command window中才能执行。

3 Program window中创建一个存储过程(或者直接在plsql左边对应的procedures和trigger右键新建),如下:

  1. create or replace procedure TEST is
  2. begin
  3. DBMS_SESSION.set_nls('NLS_DATE_FORMAT','''YYYY-MM-DD HH24:MI:SS''');
  4. DBMS_OUTPUT.PUT_LINE('HelloWorld!');
  5. DBMS_OUTPUT.put_line(SYSDATE);
  6. end TEST;

2012061311484224.jpg

需要注意,SET_NLS的第二个参数VALUE
输入的值除了需要的格式外,还需要包含引号,否则会引发错误(选项缺失或无效)
在Command window中执行(或者在Test window中测试),如下:
set serveroutput on
exec TEST();
或者begin
2 test();
3 end;
4 / ……

分类: ORACLE

好文要顶 关注我 收藏该文 icon_weibo_24.png wechat.png

u412950.jpg_id_26171624

sumsen
关注 - 5
粉丝 - 21

+加关注

https://www.cnblogs.com/sumsen/archive/2012/06/13/2547512.html

发表评论

表情:
评论列表 (有 0 条评论,707人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Windows Command

    在Vista中快速查看环境变量。         1)打开命令提示符。         2)输入set。   “图一”如下:         set的命令很强大,不仅