Heim >Datenbank >MySQL-Tutorial >Was ist der Unterschied in der Syntax zwischen SQL und Oracle?
Die Syntaxunterschiede zwischen SQL und Oracle sind: 1. Unterschiedliche Datentypen; 5. Die Syntax der bedingten Anweisung „if...else…“ ist unterschiedlich usw.
Der Syntaxunterschied zwischen SQL und Oracle umfasst unterschiedliche Datentypen, unterschiedliche Funktionen zum Abrufen der aktuellen Systemzeit, keine Standardeinschränkungen in Oracle und die Art der Verbindung Variablen und Zeichenfolgen sind unterschiedlich, die Case-Anweisungen sind unterschiedlich usw.
Die Datentypen sind unterschiedlich
SQL Server-Datentypen: int, smallint, char, varchar, nchar, nvarchar, ntext,datetime,smalldatetime,money,decima,float,bit
Oracle-Datentyp: Zahl(p,s),char,varchar2,Datum,LOB
Holen Sie sich das aktuelle System. Die Funktionen der Zeit sind unterschiedlich
SQL-Server: getdate()
Oracle: sysdate
Zum Beispiel: Funktion zu Datumsformat festlegen
to_char(sysdate,'yyy-mm-dd');
Es gibt keine Standardeinschränkung in Oracle
Standardeinschränkung in SQL Server hinzufügen:
alter table talbe_name add DF_table_name default('男') for sex;
Standardwert in Oracle hinzufügen:
alter table table_name modify(sex default('男'));
Die Methoden zum Verbinden von Variablen und Zeichenfolgen sind unterschiedlich
SQL-Server-Mediumverbindung: Verwenden Sie eine „+“-Verbindung, zum Beispiel:
print 'aaaa'+@name;
Oracle-Medienverbindung: Verwenden Sie die Verbindung „| |“, zum Beispiel:
dbms_output.put_line('aaa'||name);//name为变量
Oracle verfügt nicht über eine Spalte für das automatische Wachstum der Identität, sondern verwendet eine Sequenz, um das Wachstum zu erreichen
SQL-Server-Auto- wachsen: Identität kann direkt in der Primärschlüsselspalte der Tabelle (1, 1) verwendet werden. Um Wachstum zu erreichen
Oracle verwendet die Sequenz, um automatisch zu wachsen:
create sequence se_id start with 1 increment by 1
verwendet die Sequenz, um automatisch zu wachsen Wachstum: se_id.nextval
Bedingte Anweisung if...else... Die Syntax ist anders
SQL Server:
if 条件 begin ………… end else begin ………… end
oracle:
if 条件1 then …………; elsif 条件2 then …………; else …………; end if;
Die Syntax der case-Anweisung ist anders
sql Im Server:
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
In 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;
The Die Art und Weise, Benutzer zu erstellen, ist anders.
In SQL Server wird
erstellt. Anmeldekonto: sa-----123456
create Login 登陆名称 with password='登陆密码'
Anmeldekonto ändern :
alter Login 登陆名称 with name='新登录名称' and password='新登录密码'
Anmeldekonto deaktivieren/aktivieren
alter Login 登录名称 disable(禁用)/enable(启用)
Anmeldekonto löschen
drop Login 登录名称
Benutzer erstellen:
create user 用户名 for/from Login 登陆名称
Benutzernamen ändern
alter user 用户名 with name='新用户名'
Benutzernamen löschen
drop user 用户名
Berechtigungslimit
grant select/update/delete/insert on 表名 to 用户名
oracle:
Benutzersyntax erstellen
create user 用户名 identified by 密码 default tablespace users temporary tablespace temp quota 10M on users
Passwort ändern
alter user 用户名 identified by 新密码
Berechtigung erteilen
grant create session to 用户名
Benutzer löschen
drop user 用户名 cascade;
Das obige ist der detaillierte Inhalt vonWas ist der Unterschied in der Syntax zwischen SQL und Oracle?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!