Maison  >  Article  >  base de données  >  Quelle est la différence de syntaxe entre SQL et Oracle ?

Quelle est la différence de syntaxe entre SQL et Oracle ?

清浅
清浅original
2019-05-10 11:16:1411870parcourir

Les différences de syntaxe entre SQL et Oracle sont : 1. Différents types de données ; 2. Différentes fonctions pour obtenir l'heure actuelle du système ; 3. Différentes manières de créer des utilisateurs ; 4. Différentes manières de connecter des variables et des chaînes ; 5. La syntaxe de l'instruction conditionnelle "if...else..." est différente, etc.

Quelle est la différence de syntaxe entre SQL et Oracle ?

La différence de syntaxe entre SQL et Oracle inclut différents types de données, différentes fonctions pour obtenir l'heure système actuelle, aucune contrainte par défaut dans Oracle et la manière de se connecter variables et chaînes Différent, les instructions de cas sont différentes, etc.

Les types de données sont différents

Types de données du serveur SQL : int, smallint, char, varchar, nchar, nvarchar, ntext,datetime,smalldatetime,money,decima,float,bit

Type de données Oracle : nombre(p,s),char,varchar2,Date,LOB

Obtenir le système actuel Les fonctions du temps sont différentes

Serveur SQL : getdate()

Oracle : sysdate

Par exemple : fonction pour définir le format de date

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

Il n'y a pas de contrainte par défaut dans Oracle

Ajouter une contrainte par défaut dans le serveur SQL :

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

Ajouter une valeur par défaut dans Oracle :

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

Les méthodes de connexion des variables et des chaînes sont différentes

Connexion support serveur SQL : utilisez la connexion "+", par exemple :

print 'aaaa'+@name;

Connexion support Oracle : utilisez la connexion "| |" par exemple :

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

Oracle n'a pas de colonne de croissance automatique d'identité, mais utilise une séquence pour obtenir une croissance

Connexion automatique du serveur SQL grow : l'identité peut être utilisée directement dans la colonne clé primaire du tableau (1, 1) Pour obtenir une croissance

oracle utilise la séquence pour croître automatiquement :

create sequence se_id 
start with 1
increment by 1

utilise la séquence pour obtenir une croissance automatique Growth : se_id.nextval

Instruction conditionnelle if...else... La syntaxe est différente

serveur SQL :

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

oracle :

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

La syntaxe de l'instruction case est différente

sql Dans le serveur :

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

Dans 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;

Le la façon de créer des utilisateurs est différente

Dans le serveur SQL,

est créé Compte de connexion : sa-----123456

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

Modifier le compte de connexion :

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

Désactiver/activer le compte de connexion

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

Supprimer le compte de connexion

drop Login 登录名称

Créer un utilisateur :

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

Modifier le nom d'utilisateur

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

Supprimer le nom d'utilisateur

drop user 用户名

Limite d'autorisation

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

oracle :

Créer une syntaxe utilisateur

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

Changer le mot de passe

alter user 用户名 identified by 新密码

Accorder des autorisations

grant create session to 用户名

Supprimer l'utilisateur

drop user 用户名 cascade;

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Articles Liés

Voir plus