Maison > Article > base de données > Quelle est la différence de syntaxe entre SQL et Oracle ?
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.
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 '★★★★' when grade>=80 and grade<90 then '★★★' when grade>=70 and grade<80 then '★★' when grade>=60 and grade<70 then '★' else '差' end as '等级' from score go
Dans oracle :
declare nums number:=&nos;--&nos表示提示传入值 begin case nums when 100 then dbms_output.put_line('满分也,不错'); when 90 then dbms_output.put_line('90分页很不错了'); 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='登陆密码'
Modifier le compte de connexion :
alter Login 登陆名称 with name='新登录名称' and password='新登录密码'
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='新用户名'
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!