>데이터 베이스 >MySQL 튜토리얼 >SQL과 Oracle의 구문 차이점은 무엇입니까?

SQL과 Oracle의 구문 차이점은 무엇입니까?

清浅
清浅원래의
2019-05-10 11:16:1411937검색

SQL과 Oracle의 구문 차이점은 다음과 같습니다. 1. 다양한 데이터 유형 2. 현재 시스템 시간을 얻는 다양한 기능 3. 다양한 사용자 생성 방법 5. 조건 "if...else..." 문의 구문은 다릅니다.

SQL과 Oracle의 구문 차이점은 무엇입니까?

SQL과 Oracle의 구문 차이점에는 다양한 데이터 유형, 현재 시스템 시간을 가져오는 다양한 함수, Oracle의 기본 제약 조건 없음, 변수와 문자열을 연결하는 다양한 방법, 다양한 Case 문 등이 포함됩니다.

데이터 다양한 유형

SQL 서버 데이터 유형: int, smallint, char, varchar, nchar, nvarchar, ntext, datetime, smalldatetime, Money, decima, float, bit

Oracle 데이터 유형: number (p, s) , char,varchar2,Date,LOB

현재 시스템 시간을 가져오는 함수는 다릅니다

sql server: getdate()

oracle: sysdate

예: 날짜 형식을 설정하는 함수

to_char(sysdate,'yyy-mm-dd');

in oracle 기본 제약 조건이 없습니다

SQL Server에 기본 제약 조건 추가:

alter table talbe_name add DF_table_name default('男') for sex;

oracle에 기본값 추가:

alter table table_name modify(sex default('男'));

변수와 문자열을 연결하는 방법이 다릅니다

SQL Server에서 연결: 사용 "+" 연결, 예:

print 'aaaa'+@name;

oracle 중간 연결: "||" 연결 사용, 예:

dbms_output.put_line('aaa'||name);//name为变量

oracle에는 ID 자동 증가 열이 없지만 시퀀스를 사용하여 성장을 달성합니다.

sql server automatic 성장: 테이블의 기본 키 열에서 성장을 달성하기 위해 ID(1,1)를 직접 사용합니다

oracle은 자동 성장을 위해 시퀀스를 사용합니다:

create sequence se_id 
start with 1
increment by 1

자동 성장을 달성하기 위해 시퀀스를 사용합니다: se_id.nextval

구문 if...else... 조건문이 다릅니다

sql 서버:

  if 条件
            begin
              …………
            end
            else
            begin
              …………
            end

oracle:

  if 条件1 then
               …………;
            elsif 条件2 then
               …………;
            else
              …………;
            end if;

case 문의 구문이 다릅니다.

sql 서버:

select ....case.....(else)....end....语句
            select stuno '学号',case
            when grade>=90 and grade<=100 then &#39;★★★★&#39;
            when grade>=80 and grade<90 then &#39;★★★&#39;
         when grade>=70 and grade<80 then &#39;★★&#39;
         when grade>=60 and grade<70  then &#39;★&#39;
            else &#39;差&#39;
            end as &#39;等级&#39; from score
            go

oracle:

  declare
        nums number:=&nos;--&nos表示提示传入值
            begin
              case nums
                when 100 then
                  dbms_output.put_line(&#39;满分也,不错&#39;);
                when 90 then
                  dbms_output.put_line(&#39;90分页很不错了&#39;);
                end case;
            end;

사용자 생성 방법이 다릅니다

sql server

로그인 계정 만들기 : sa------123456

create Login 登陆名称 with password=&#39;登陆密码&#39;

로그인 계정 수정 :

alter Login 登陆名称 with name=&#39;新登录名称&#39; and password=&#39;新登录密码&#39;

로그인 계정 비활성화/활성화

alter Login 登录名称 disable(禁用)/enable(启用)

Delete 로그인 계정

drop Login 登录名称

사용자 만들기:

create user 用户名 for/from Login 登陆名称

사용자 이름 수정

alter user 用户名 with name=&#39;新用户名&#39;

사용자 이름 삭제

drop user 用户名

승인 제한

grant select/update/delete/insert on 表名 to 用户名

oracle:

사용자 구문 만들기

create user 用户名
identified by 密码
default tablespace users
temporary tablespace temp
quota 10M on users

비밀번호 변경

alter user 用户名 identified by 新密码

권한 부여

grant create session to 用户名

사용자 삭제

drop user 用户名 cascade;

위 내용은 SQL과 Oracle의 구문 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

관련 기사

더보기