찾다
백엔드 개발PHP 튜토리얼Oracle 常见问题解答_PHP教程

Oracle 常见问题解答_PHP教程

Jul 21, 2016 pm 04:10 PM
oracle~에 대한목록어디흔한비교하다~의FAQ


以前搜集的一个Oracle比较常见问题的列表,忘记了是从哪来的

关于 SELECT N 问题

有感于一些网友多次咨询和讨论选取某些指定行数据的问题, 我写了下面这样的简单说明, 请大家指正.

这里描述的 SELECT N 包括这样几种情况:
1. 选取TOP N行记录
2. 选取N1-N2行记录
3. 选取FOOT N行记录
当然需要考虑是否有ORDER BY子句的情况, 下面试以系统视图CAT为例分别说明.
注: A. 为没有ORDER BY的情况
B. 有ORDER BY的情况

1. 选取 TOP N 行记录
A. SELECT * FROM CAT WHERE ROWNUMB. SELECT * FROM
( SELECT * FROM CAT ORDER BY TABLE_TYPE )
WHERE ROWNUM
2. 选取N1-N2行记录
A. SELECT TABLE_NAME,TABLE_TYPE FROM
( SELECT ROWNUM ROWSEQ,TABLE_NAME,TABLE_TYPE FROM CAT )
WHERE ROWSEQ BETWEEN N1 AND N2;
或:
SELECT * FROM CAT WHERE ROWNUMMINUS
SELECT * FROM CAT WHERE ROWNUMB. SELECT TABLE_NAME,TABLE_TYPE FROM
( SELECT ROWNUM ROWSEQ,X.* FROM (SELECT * FROM CAT ORDER BY TABLE_TYPE) X)
WHERE ROWSEQ BETWEEN N1+1 AND N2;

3. 选取FOOT N行记录
这里是说明不知道记录集的记录个数的情况, 如果已知, 用上面2的方法即可
A. SELECT TABLE_NAME,TABLE_TYPE FROM
( SELECT ROWNUM ROWSEQ,TABLE_NAME,TABLE_TYPE FROM CAT )
WHERE ROWSEQ > ( SELECT COUNT(*)-N FROM CAT )
B. SELECT TABLE_NAME,TABLE_TYPE FROM
( SELECT ROWNUM ROWSEQ,TABLE_NAME,TABLE_TYPE FROM CAT ORDER BY TABLE_TYPE)
WHERE ROWSEQ > ( SELECT COUNT(*)-N FROM CAT )

SELECT * FROM
( SELECT TABLE_NAME,TABLE_TYPE FROM CAT ORDER BY TABLE_TYPE DESC)
WHERE ROWNUM
以上在ORACLE8.1.5 for Windows2000pro 上测试通过
-- end --

oracle FAQ(1) from chao_ping
1.快速整理破碎的表(在Oracle8i里边才可以这样使用)

ALTER TABLE table_name MOVE ( TABLESPACE XXX);

如何移动一张表所在的表空间

方法一:
1. Export 这张表
2. Drop这张表
3. Create table xxx tablespace xxx;
4. Imp Ignore=y

还要注意的一点是,所有要读取这张表的PL/SQL储存过程都会失效。需要重新编译。
1. SELECT * FROM DBA_OBJECTS WHERE STATUS = 'INVALID';
2. 对这些包,函数,过程重新编译。
方法二:
仅对Oracle8i适用。
使用下面的语句:
ALTER TABLE table_name MOVE
TABLESPACE new_tablespace;

这样的话,所有的约束、索引、触发器都不会受到影响。

但是需要rebuild这个标上的所有索引。

2.怎样直接进入sql*plus而不用输入用户名,密码:

sqlplus /nolog;

sqlplus username/password@connect_string

3.怎样快速重建索引:

alter index xxx rebuild storage();

alter index xxx coalesce;

4. 为什么我看不到dbms_output的结果?

SET SERVEROUTPUT ON

5. 进行一次大的事务以后,已经COMMIT了,但为什么我的回滚段还是那样大?

因为没有设置OPTIMAL的值,所以不会自动收缩。

可以用alter rollback segment shrink to Xm;来手工进行收缩。

6. 为什么要使用VARCHAR2,而不用CHAR?

A.CHAR只支持2000字节长,而VARCHAR2支持4000字节的长度,适用性更好

B. CHAR 占用更多的存储空间,定义多长,它就占用多长的空间,插入字符后面自动加空格填充;而VARCHAR2不论定义多长,都只使用实际插入的长度。

7. 为什么从不同的数据字典看,表/索引所占用的空间不一样?

SQL> select blocks , empty_blocks from dba_tables where table_name='表名';
BLOCKS EMPTY_BLOCKS
---------- ------------
1575 1524

SQL> select bytes,blocks,extents from dba_segments where segment_name='表名';
BYTES BLOCKS EXTENTS
---------- - --------- ----------

6348800 3100 1

这是因为第一个数据库视图DBA_TABLES的BLOCKS列是指实际上使用的BLOCK数目,还有一些BLOCK虽然被占用了,但是没有数据存在,不计入里边。而在DBA_SEGMENTS这个数据库视图里边,BLOCKS列是指这个表总共占用的BLOCK的数目,包括有数据和没有数据的BLOCK总量。如果把第一个视图里边的BLOCKS和EMPTY_BLOCKS地总和加起来,正好等于第二个视图的BLOCKS列的大小。

8. 怎样把数据库的一张,多张表存为一个普通的文本文件?

可以在SQL*Plus里边用SPOOL命令把选出来的数据保存在SPOOL指定的文件里边。

9. 怎样从一张表里删除重复的记录

SQL> SELECT * FROM EMP;

EMP_ID OFFICE_ID EMPNAME

305 12 ELLISON, GEORGE

305 12 MERCURIO, JASON

128 17 SIMPSON, LINDA

305 22 JACKSON, DREW

使用下面的SQL语句来识别那些重复的记录:

SQL> SELECT COUNT(*), EMP_ID, OFFICE_ID

FROM EMP

GROUP BY EMP_ID, OFFICE_ID

HAVING COUNT(*) > 1;

结果如下:

COUNT(*) EMP_ID OFFICE_ID

2 305 12

Table Example, with duplicate values:

SQL> SELECT * FROM EMP;

EMP_ID OFFICE_ID EMPNAME

305 12 ELLISON, GEORGE

305 12 MERCURIO, JASON

128 17 SIMPSON, LINDA

305 22 JACKSON, DREW

使用下面的语句来删除重复的记录:

SQL> DELETE FROM EMP A WHERE

(EMP_ID, OFFICE_ID, 2) IN

(SELECT EMP_ID, OFFICE_ID, decode(count(*),1,1,2)

FROM EMP B

WHERE A.EMP_ID=B.EMP_ID AND

A.OFFICE_ID = B.OFFICE_ID

GROUP BY EMP_ID, OFFICE_ID);

10. 怎样在SQL*PLUS里想数据库插入特殊字符?

可以使用CHR函数。

11. 怎样删除一个列?

在Oracle8i里边,可以直接Drop一个列。语法为alter table table_name drop column_name;

但是注意要在initsid.ora里边设定compatible=8.1.0以上。

12. 怎样重命名一个列?

1 alter table "table_name" add
(new_column_name data_type);

2 update table_name set new_column_name =
old_column_name where rowid=rowid;

3 alter table table_name drop column
old_column_name;

13. 怎样快速清空一张表?

Truncate table table_name;

14. 怎样为事务指定一个大的回滚段?

Set transaction use rollback segment rbs_name;

15. 怎样知道一张表上有那些权限赋予了哪些人,给他们了什么权限?

select * from dba_tab_privs where table_name='表名';

16. 怎么发现是谁锁住了你需要的一张表?

Select object_id from v$locked_object;

Select object_name, object_type from dba_objects where object_id='';

每次清空一张表的时候,(使用truncate),这张表的存储参数NEXT自动复位到最后被删除的那个extent的大小。同样,如果显式地从一张表里边释放空间,NEXT参数也会自动被设置成最后被释放的那个extent的大小。

在SQL*Plus里边可以为一个事务指定一个回滚段:这在有大的事务将要发生的话时候还是很有用的。使用下面的语句可以为这个事务指定一个回滚段:

SQL>SET TRANSACTION USE ROLLABCK SEGMENT 回滚段名称;

还可以在PL/SQL里边为一个事务指定一个回滚段(不使用动态sql语句)。这个需要使用Oracle提供的包:DBMS_TRANSACTION.USE_ROLLBACK_SEGMENT(‘回滚段名称');

在有些平台上的Oracle,在启动的时候会自动生成一个sgadefSID.dbf,用这个文件是否存在就可以判断一个实例是否在运行。这个文件包含了SGA在内存中的地址。在数据库关闭的时候,Oracle会自动删除这个文件。但是在Oracle8i里边,这个文件不再存在了。需要使用新的判断方式来断定究竟某个实例是否在运行。比如PS命令。

在Oracle7里边,想要知道数据文件是否可以自动扩展,必须从sys.filext$这张表里边查取,但是在Oracle8里边,从dba_data_files里边就可以知道数据文件是否可以自动扩展了。

从Oracle8i开始,可以创建另一类数据库一级的触发器,比如数据库启动、关闭,用户登录、注销等事务,都可以触发这个事件的发生,从而作某些记录。在数据库一级定义的触发器会在所有用户相应事件发生的时候触发,而在Schema一级定义的触发器只有在某个特定用户的相应事件发生的时候才会触发。

从Oracle8i开始,多了一种关闭数据库的方式:SHUTDOWN TRANSACTIONAL。这种方式允许所有的用户提交它们的工作。但是一旦提交之后就马上被切断联接,等所有用户都完成了各自的事务,shutdown就开始了。

从Oracle8开始,可以创建临时表,这些表的定义对于所有该用户的会话都是可以看到的,但是每个会话查询、插入、删除的数据和别的会话查询、插入、删除的数据都是不相关的。就像每个会话都分别有这样一份表一样。

从Oracle8i开始,对于那些没有进行分区的表,可以不用IMP/EXP就可以快速重组。但是这需要两倍于该表容量的表空间。这个语句就是:

ALTER TABLE TB_NAME MOVE TABLESPACE TS_NAME;

在Oracle8i里边可以创建反序索引。(CREATE INDEX i ON t (a,b,c) REVERSE;)。由于反序索引的相邻键值不是存放在物理相邻的位置,因此只有全索引扫描或者通过单个列这一类语句才能够有效利用这些索引。这类反序索引在Oracle并行服务器上能够较好地协调不同实例对数据库的修改,可以在一定程度上提高系统性能。

从Oracle8开始,$instance视图可以查获许多有用的信息:比如主机名称,实例名,启动时间,版本号等。

临时表空间里边创建的临时段只有在shutdown地时候才会被释放。

但是在permanent表空间里边创建的临时段在一个事务结束之后就会被释放,有Smon进程来完成这个任务。







oracle FAQ(2) from chao_ping
关于OPTIMAL参数

optimal是用于限制回滚段大小的一个存储参数。在执行一个长的事务之后,那个事务所使用的回滚段会比较大,而设置了Optimal这个参数以后,一旦事务提交结束,回滚段自动收缩到Optimal所指定的大小。

如果你的系统中有许多长时间运行的事务的话,那么应该把回滚段的Optimal参数设置的比较大一点。这样有利于保持回滚段表空间的连续性。否则不断的扩张、收缩会使表空间更加破碎。

如果系统中主要的事务都是短时间的,那么应该把回滚段设置的比较小一些,这样有利于让回滚段里面的信息可以存储在SGA里边,以利于提高系统性能。

回滚段的Optimal参数可以在创建回滚段的时候指定,也可以用

ALTER ROLLBACK SEGMENT SEGMENT_NAME OPTIMAL XX M;这样来重新设定。

Oracle8i 里边的

ALTER SESSION SET CURRENT_SCHEMA=

可以用来更改当前的用户模式。


Oracle公司已经宣称,不再支持server manager,这个工具自从Oracle 6.0开始,就一直是管理Oracle数据库的主要工具。现在,SQL*Plus替代了Server Manager的地位,因此,Server Manager中相应的功能也都集成到了SQL*Plus之中。

SQL*Plus新增加的主要命令是startup, shutdown, archive log,和recover。当然,标准的SQL语法仍然是支持的了,比如一系列的CREATE, ALTER等语句。但是也对其中的一些有了一些改变,比如原来不支持的ALTER DATABASE OPEN,ALTER DATABASE MOUNT,ALTER DATABASE BACKUP 等句子。

对于SET命令,也多了一些新的选项,用来包含一些如自动恢复等。SHOW命令也开始可以用来直接显示参数SHOW PARAMETER ,SHOW SGA等。而这些,原来都只是在Server Manager里面才有的功能。



Oracle8i仍旧保留了尽人皆知的INTERNAL账户,但是要记住,这主要是为了向后兼容。INTERNAL账户的功能现在开始有SYSDBA,SYSOPER这两个角色来支持了。INTERNAL/SYS的口令可以用下面这个方法来进行修改:

O/S Prompt> orapwd password=

当数据库刚刚创建的时候,SYS的密码默认为change_on_install,而SYSTEM的密码是manager,而INTERNAL则根本就没有密码。因此,创建完数据库之后,第一件要做的事情就是改变以上三个用户的口令。INTERNAL的口令可以用前面提到过的方法来改变,而SYSTEM,SYS则可以直接用ALTER USER username IDENTIFIED BY password;来更改。注意,在Oracle8i开始,ALTER USER SYS IDENTIFIED BY password;同时也会更改INTERNAL的密码,如果你为INTERNAL设置了密码的话,同时,马上把SYSDBA,SYSOPER这两个角色授予负责管理这个数据库的用户。对于那些使用INTERNAL来连接数据库的脚本,也要相应的作一些修改。

启动和关闭数据库:

要从SQL*Plus里边启动数据库,请按照以下的步骤进行:

O/S Prompt>sqlplus /nolog

SQL> connect scott/tiger as SYSDBA

SQL> startup

如果希望用不同于默认得参数来启动数据库,可以使用下面代参数的启动命令:

SQL> startup PFILE=

有时候需要启动数据库,但是不让普通用户进入,比如为了平衡IO,需要移动一个数据文件的位置,这时候就需要改变默认得启动选项:

SQL> startup mount

当完成了维护任务之后,可以选择关闭数据库然后再重新按照正常方式打开,或者直接在SQL*Plus里边输入下面的命令,Oracle就可以开始正常运行了:

SQL> alter database open

有时候需要创建一个新的数据库,或者需要重建控制文件,就需要用下面的语句:

SQL> startup nomount

有时候,数据库难以正常启动,就可以考虑使用下面的办法来强迫启动:使用FORCE选项,STARTUP FORCE实际上相当于一个SHUTDOWN ABORT然后再STARTUP这样一个过程。

SQL> startup force

SHUTDOWN这个命令也有好几种参数可以选择:

正常关闭是等待所有用户都从系统退出以后,再正常关闭系统。这是一种最最理想的关闭数据库的方式。一般都应该使用这种方式来正常关闭数据库。

SQL> shutdown

在Oracle8i开始,新加了一个关闭选项:SHUTDOWN TRANSACTIONAL。这允许所有用户都完成它们的事务,一旦事务提交,马上被断开连接。这样既保证了用户不会丢失它们的事务,也保证了数据库可以及时关闭,进行必要的维护操作。这种方式关闭的话,下次系统启动之后,也不用进行实例一级的恢复。比下面提到的另外两种方式都要理想。

SQL> shutdown transactional

SHUTDOWN IMMEDIATE是马上中止用户的当前事务,并不等这些事务完成,回滚这些用户的当前事务。但是如果有一些事务很久没有提交的话,那么SHUTDOWN IMMEDIATE或许就不像说得那样IMMEDIATE了。可能也要花很多时间来回滚这些事务。

SQL> shutdown immediate

在Oracle8i里边最后一种关闭方式是SHUTDOWN ABORT。这种关闭方式和直接关闭计算机的电源其实没有太多的区别。任何当前连接的用户都被马上断开联接,在下次实例再次启动的时候,必须进行实例一级的恢复,用以回滚没有提交的事务。

SQL> shutdown abort

ALTER TABLE table_name MOVE之后,表上的索引标志为UNUSABLE?

在Oracle8i开始,可以直接使用alter table table_name move [tablespace tablespace_name];

来为一张表移动到另一个表空间,或者重新组织表的存储方式,以减少碎片。但是,这样使用过之后,所有这张表上的索引都将被标志为unusable。这是因为MOVE一张表之后,表中列对应的物理位置都改变了,就是所有行的ROWID都变化了,而这张表的索引就用到了其中行的ROWID。由于Oracle不会自动更新索引对应的ROWID,这时候,索引上的ROWID就指向了错误的地方。因此,索引被标志为UNUSABLE。这时候,你就需要手工重建索引。可以使用下面的语法来重建索引:

ALTER INDEX index_name REBUILD;当然,还可以为索引指定特定的合适的存储参数,来优化索引的存储。或许Oracle之所以没有自动维护索引,就是为了让你可以为索引指定合适的存储参数。

如何远程安装Oracle:

如果需要从PC机上的X-window客户端安装Unix上的Oracle系统,要注意下面这一点:Oracle8i使用的是Universal Installer,使用了Java技术,必须在图形界面下安装。如果是远程安装,必须设置一下什么地方来显示Universal Installer的图形界面:使用

$DISPLAY=workstation_name:0.0

$export DISPLAY

举一个例子,你的PC机的IP地址是150.150.4.128,机器名字叫做test,那么就可以使用下面的语法来进行为安装作准备工作:

$DSIPLAY=150.150.4.128:0.0

$export DISPLAY

或者使用下面的语法,但是必须这个test机器的信息写在hosts文件里边:

DSIPLAY=test:0.0

$export DISPLAY




www.bkjia.comtruehttp://www.bkjia.com/PHPjc/314169.htmlTechArticle以前搜集的一个Oracle比较常见问题的列表,忘记了是从哪来的 关于 SELECT N 问题 有感于一些网友多次咨询和讨论选取某些指定行数据的问题...
성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
PHP vs. Python : 차이점 이해PHP vs. Python : 차이점 이해Apr 11, 2025 am 12:15 AM

PHP와 Python은 각각 고유 한 장점이 있으며 선택은 프로젝트 요구 사항을 기반으로해야합니다. 1.PHP는 간단한 구문과 높은 실행 효율로 웹 개발에 적합합니다. 2. Python은 간결한 구문 및 풍부한 라이브러리를 갖춘 데이터 과학 및 기계 학습에 적합합니다.

PHP : 죽어 가거나 단순히 적응하고 있습니까?PHP : 죽어 가거나 단순히 적응하고 있습니까?Apr 11, 2025 am 12:13 AM

PHP는 죽지 않고 끊임없이 적응하고 진화합니다. 1) PHP는 1994 년부터 새로운 기술 트렌드에 적응하기 위해 여러 버전 반복을 겪었습니다. 2) 현재 전자 상거래, 컨텐츠 관리 시스템 및 기타 분야에서 널리 사용됩니다. 3) PHP8은 성능과 현대화를 개선하기 위해 JIT 컴파일러 및 기타 기능을 소개합니다. 4) Opcache를 사용하고 PSR-12 표준을 따라 성능 및 코드 품질을 최적화하십시오.

PHP의 미래 : 적응 및 혁신PHP의 미래 : 적응 및 혁신Apr 11, 2025 am 12:01 AM

PHP의 미래는 새로운 기술 트렌드에 적응하고 혁신적인 기능을 도입함으로써 달성 될 것입니다. 1) 클라우드 컴퓨팅, 컨테이너화 및 마이크로 서비스 아키텍처에 적응, Docker 및 Kubernetes 지원; 2) 성능 및 데이터 처리 효율을 향상시키기 위해 JIT 컴파일러 및 열거 유형을 도입합니다. 3) 지속적으로 성능을 최적화하고 모범 사례를 홍보합니다.

PHP의 초록 클래스 또는 인터페이스에 대한 특성과 언제 특성을 사용 하시겠습니까?PHP의 초록 클래스 또는 인터페이스에 대한 특성과 언제 특성을 사용 하시겠습니까?Apr 10, 2025 am 09:39 AM

PHP에서, 특성은 방법 재사용이 필요하지만 상속에 적합하지 않은 상황에 적합합니다. 1) 특성은 클래스에서 다중 상속의 복잡성을 피할 수 있도록 수많은 방법을 허용합니다. 2) 특성을 사용할 때는 대안과 키워드를 통해 해결할 수있는 방법 충돌에주의를 기울여야합니다. 3) 성능을 최적화하고 코드 유지 보수성을 향상시키기 위해 특성을 과도하게 사용해야하며 단일 책임을 유지해야합니다.

DIC (Dependency Injection Container) 란 무엇이며 PHP에서 사용하는 이유는 무엇입니까?DIC (Dependency Injection Container) 란 무엇이며 PHP에서 사용하는 이유는 무엇입니까?Apr 10, 2025 am 09:38 AM

의존성 주입 컨테이너 (DIC)는 PHP 프로젝트에 사용하기위한 객체 종속성을 관리하고 제공하는 도구입니다. DIC의 주요 이점에는 다음이 포함됩니다. 1. 디커플링, 구성 요소 독립적 인 코드는 유지 관리 및 테스트가 쉽습니다. 2. 유연성, 의존성을 교체 또는 수정하기 쉽습니다. 3. 테스트 가능성, 단위 테스트를 위해 모의 객체를 주입하기에 편리합니다.

SPL SplfixedArray 및 일반 PHP 어레이에 비해 성능 특성을 설명하십시오.SPL SplfixedArray 및 일반 PHP 어레이에 비해 성능 특성을 설명하십시오.Apr 10, 2025 am 09:37 AM

SplfixedArray는 PHP의 고정 크기 배열로, 고성능 및 메모리 사용이 필요한 시나리오에 적합합니다. 1) 동적 조정으로 인한 오버 헤드를 피하기 위해 생성 할 때 크기를 지정해야합니다. 2) C 언어 배열을 기반으로 메모리 및 빠른 액세스 속도를 직접 작동합니다. 3) 대규모 데이터 처리 및 메모리에 민감한 환경에 적합하지만 크기가 고정되어 있으므로주의해서 사용해야합니다.

PHP는 파일 업로드를 어떻게 단단히 처리합니까?PHP는 파일 업로드를 어떻게 단단히 처리합니까?Apr 10, 2025 am 09:37 AM

PHP는 $ \ _ 파일 변수를 통해 파일 업로드를 처리합니다. 보안을 보장하는 방법에는 다음이 포함됩니다. 1. 오류 확인 확인, 2. 파일 유형 및 크기 확인, 3 파일 덮어 쓰기 방지, 4. 파일을 영구 저장소 위치로 이동하십시오.

Null Coalescing 연산자 (??) 및 Null Coalescing 할당 연산자 (?? =)은 무엇입니까?Null Coalescing 연산자 (??) 및 Null Coalescing 할당 연산자 (?? =)은 무엇입니까?Apr 10, 2025 am 09:33 AM

JavaScript에서는 NullCoalescingOperator (??) 및 NullCoalescingAssignmentOperator (?? =)를 사용할 수 있습니다. 1. 2. ??= 변수를 오른쪽 피연산자의 값에 할당하지만 변수가 무효 또는 정의되지 않은 경우에만. 이 연산자는 코드 로직을 단순화하고 가독성과 성능을 향상시킵니다.

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

에디트플러스 중국어 크랙 버전

에디트플러스 중국어 크랙 버전

작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

SublimeText3 Linux 새 버전

SublimeText3 Linux 새 버전

SublimeText3 Linux 최신 버전

WebStorm Mac 버전

WebStorm Mac 버전

유용한 JavaScript 개발 도구

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

Atom Editor Mac 버전 다운로드

Atom Editor Mac 버전 다운로드

가장 인기 있는 오픈 소스 편집기