`

sqlserver与oracle的区别

阅读更多

 sql server  oracle的区别:
--1.
数据类型不同。

--sql server 的数据类型:       int ,smallint ,char,varchar,nchar,nvarchar,ntext,datetime,smalldatetime,

money,decima,float,bit……
--oracle 的数据类型:number(p,s),char,varchar2,Date,LOB 

 

--触发器创建语法不同
      --sql server
          -- 首先判断触发器是否已经存在
          if exists (select * from sys.sysobjects where name='tr_delete')
     --如果存在先删除
     drop trigger tr_delete
          go
         
         --创建触发器
         create trigger tr_delete
         on bookInfo
         instead of delete
         as
             --定义变量
             declare @bookid int
             select @bookid=Bookid from deleted---deleted执行删除语句( delete from BookInfo where BookId=1),自动生成的deleted表
             --删除与该图书的相关记录(先删除从表再删除主表)
             delete from borrowinfo where  bookid=@bookid
             delete from backinfo where  bookid=@bookid
             delete from BookInfo where BookId=@bookid
             --判断
             if @@error0
             begin
                 print '删除失败'
                 rollback transaction

              end
             else
             begin
                 print '[/size][size=10.5pt; font-family: 宋体;]删除成功'
             end
         go
         delete from BookInfo where BookId=1       
         
      --oracle[/size]中:
         --创建触发器
         create or replace trigger tri_test
         before insert or update or delete
         on table_name
         [for each row]---如果要使用 :new /:old 就必须使用行触发器
         declare
              nums varchar2(20);
         begin
           select 'F'||lpad('aa',5,0) into nums from dual;
         end;

中存储过程:
            
             --[/size]判断存储过程是否已经存在
             if exists(select * from sys.sysobjects where name='proc_name')
      --如果存在先删除
      drop proc proc_name
             go
            
             --创建存储过程语句
             create proc/procedure proc_name
             @参数名1 数据类型 [out/output],
             @参数名2 数据类型 [out/output]
             as
                   …………
             go
            
             --调用存储过程
             --如果有输出参数,则需定义变量(假设@参数2为输出参数)
             declare @变量名 数据类型
             exec proc_name @参数名1='aaa',@参数名2=@变量名 out
            
    ---oracle中带游标及循环的存储过程
[size=10.5pt; font-family: 宋体;" lang="EN-US]create or replace procedure proc_selCurrent
              (
                     names varchar2
              )
              as
                     cursor cursor_sel
                     is
                     select DepositSum,cardType,name,state from CurrentAccount where name like '%'||names||'%';
                     dd number;
                     cc number;
                     nn varchar2(20);
                     sta number;
                     begin
                       open cursor_sel;
                            loop
                              fetch cursor_sel into dd,cc,nn,sta;
                              dbms_output.put_line('[/size][size=10.5pt; font-family: 宋体;]存款金额:'||dd||'[/size]姓名:'||nn);
                            exit when cursor_sel%notfound;
                            end loop;
                       close cursor_sel;
                     end;
                    
               --调用存储过程
               begin
                 proc_selCurrent('a');
               end;


    --sql server中
            --1、创建登陆账号:sa-----123456
                  create Login 登陆名称 with password='登陆密码'              
            --修改登陆账户:
                  alter Login 登陆名称 with name='新登录名称' and password='新登录密码'
            --禁用/启用登陆账号
                  alter Login 登录名称 disable(禁用)/enable(启用)
            --删除登陆账号
                  drop Login 登录名称
                 
            --2、创建用户:
             create user 用户名 for/from Login 登陆名称           
             --修改用户名
             alter user 用户名 with name='新用户名'
             --删除用户名
             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 用户名 c[size=13.5pt; font-family: 'Arial',sans-serif; color: #362e2b; background: white;" lang="EN-US]ascade;[/size]

 

分享到:
评论

相关推荐

    sqlserver自动生成sql语句工具sqlserver转oracle

    描述中提到的"sqlserver转oracle"则是指将SQL Server数据库的内容迁移到Oracle数据库的过程。这个过程涉及到SQL语法的转换,因为SQL Server和Oracle虽然都遵循SQL标准,但各自的语法特性和函数库有所不同。例如,SQL...

    SqlServer和Oracle区别 学习心得 ppt 笔记

    SqlServer和Oracle区别 学习心得 ppt 笔记

    Sql Server与Oracle的区别

    【Sql Server与Oracle的区别】 在数据库管理领域,Sql Server(由微软公司开发)和Oracle(由甲骨文公司提供)都是广泛使用的数据库管理系统。虽然两者都支持SQL语言,但它们在语法、功能和设计上存在一些显著差异...

    ORACLE和SQL Server的语法区别

    本文主要介绍Oracle与SQL Server在SQL语言层面的异同之处,重点在于Transact-SQL(T-SQL)与PL/SQL之间的区别,并提供了一些迁移策略。对于希望将现有的Oracle数据库系统迁移至SQL Server平台的用户来说,这些知识尤...

    SQL SERVER连接oracle数据库几种方法

    SQL SERVER 连接 Oracle 数据库几种方法 在实际开发中,我们经常需要在 SQL Server 中连接 Oracle 数据库,以便实现数据交换和集成。那么,如何在 SQL Server 中连接 Oracle 数据库呢?下面我们将介绍几种常见的...

    Oracle和SqlServer语法区别

    Oracle和SqlServer语法区别 Oracle和SqlServer是两种流行的关系型数据库管理系统,它们之间存在着一些语法区别。了解这些区别对于开发者来说非常重要,因为它可以帮助他们更好地迁移到新的数据库管理系统。下面将...

    SQL Server 到 Oracle 的SQL 语法自动翻译器源码

    该转换过程负则将SQL Server的 一些语法特性翻译为Oracle支持的形式,也包括常用的函数, 支持复杂的SQL,例如嵌套/子查询等。 这是小弟为了一个Oracle项目的应急之作,我们的系统(Delphi的三层架构)一直运行...

    sql_server连接Oracle方法(最全)

    "SQL Server 连接 Oracle 方法" SQL Server 连接 Oracle 方法是数据库管理系统中的一个重要话题。本文将详细介绍如何在 SQL Server 中连接 Oracle 数据库,并解决在连接过程中可能出现的问题。 安装 Oracle 客户端...

    sqlserver-oracle 数据类型对照

    本文将详细比较SQL Server和Oracle数据库之间的数据类型对应以及常用函数的转换。 首先,我们来看SQL Server和Oracle的数据类型对照: 1. **数值类型**: - `bigint`在SQL Server中对应Oracle的`NUMBER(19)`,...

    sqlserver/oracle/mysql/等数据库驱动大全

    ODBC是微软提出的一种标准接口,允许应用程序通过统一的方式与各种不同类型的数据库进行交互,无论底层数据库系统是SQL Server、Oracle还是MySQL。 首先,让我们详细了解一下SQL Server的ODBC驱动。SQL Server ODBC...

    oracle到sqlserver 跨库查询

    .oracle 到 SQL Server 跨库查询 Oracle 到 SQL Server 跨库查询是指通过网关工具将数据从 SQL Server 数据库中抽取到 Oracle 数据库中。这个过程需要安装和配置网关软件,并进行相应的设置和配置。 一、网关软件...

    sqlserver连接oracle

    SQL Server 连接 Oracle 服务器详解 SQL Server 作为链接服务器连接 Oracle 数据库,需要配置 Windows 的 ODBC 数据源和 SQL Server 2000 中的连接服务器。下面将详细介绍配置过程和连接方法。 配置 Windows 的 ...

    网络环境下连接SQL Server和Oracle 19c的方法.docx

    在网上看了很多资料,感觉不是很仔细,很多同学遇到这个问题,就详细说明一下在局域网环境下Navicat连接SQL Server和Oracle 19c的方法,PL/SQL Developer连接Oracle

    【SQL Server与Oracle区别.(经典、原创)】

    SQL Server与Oracle是两种广泛应用的关系型数据库管理系统,它们在许多方面有着显著的差异,适合不同的业务场景和需求。以下是对这两个数据库系统之间主要区别的详细分析: 4.1 开放性: SQL Server主要由微软公司...

    Oracle与SQLServer的SQL语法差异

    Oracle与SQLServer的SQL语法差异,用简单易懂的语言和实例对Oracle和Sql Server语法之间的差异进行了对比分析,更加适用于入门的人

    SQLSERVER导入ORACLE数据库.

    SQL Server和Oracle都是业界知名的数据库系统,各自拥有广泛的应用。本篇文章将深入探讨如何将数据从SQL Server导入到Oracle数据库,这对于数据迁移、数据整合或跨平台操作具有重要意义。 首先,我们来了解SQL ...

    sqlserver与oracle的主要区别

    阐述了sqlserver与oracle的主要区别,

    Sqlserver转Oracle工具

    连接sqlserver数据库后选择相应的数据库-数据表以及目标数据库(目前只有oracle),可以将sqlserver转换成oracle数据,有两种方式,点击转换sql按钮,可以生成sql语句,复制语句到oracle里执行。第二种是连接oracle...

    SQLSERVER到ORACLE的数据库迁移

    private final String url = "jdbc:microsoft:sqlserver://"; private final String serverName = "localhost"; private final String portNumber = "1433"; private final String databaseName = "ckgl"; ...

    SqlServer与Oracle差异

    【SqlServer与Oracle差异】 在数据库领域,SqlServer和Oracle都是广泛使用的数据库管理系统,它们各自拥有独特的特性和优势。本文将从概念、数据类型、语法等方面对比两者的差异。 1. **概念上的区别** - Oracle...

Global site tag (gtag.js) - Google Analytics