Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 转换SQL以便与Oracle一起使用_Sql Server_Oracle - Fatal编程技术网

Sql server 转换SQL以便与Oracle一起使用

Sql server 转换SQL以便与Oracle一起使用,sql-server,oracle,Sql Server,Oracle,我有两个问题 如何将此SQL Server语句转换为在Oracle上工作 Create table MyCount(Line int identity(1,1)) 在Orace数据库中存储图片的SQL Server映像类型等效于什么 1:你必须创建一个序列和一个触发器 CREATE SEQUENCE MyCountIdSeq; CREATE TABLE MyCount ( Line INTEGER NOT NULL, ... ); CREATE TRIGGER

我有两个问题

  • 如何将此SQL Server语句转换为在Oracle上工作

     Create table MyCount(Line int identity(1,1))
    
  • 在Orace数据库中存储图片的SQL Server映像类型等效于什么


  • 1:你必须创建一个序列和一个触发器

     CREATE SEQUENCE MyCountIdSeq;
     CREATE TABLE MyCount (
         Line INTEGER NOT NULL,
         ...
     );
     CREATE TRIGGER MyCountInsTrg BEFORE INSERT ON MyCount FOR EACH ROW AS
     BEGIN
         SELECT MyCountIdSeq.NEXTVAL INTO :new.Line
     END;
     /
    

    2:BLOB.

    如果管理插入,则不需要为此使用触发器:

    CREATE SEQUENCE seq;
    
    CREATE TABLE mycount
    (
       line NUMBER(10,0)
    );
    
    然后,要插入一个值:

    INSERT INTO mycount(line) VALUES (seq.nextval);
    
    对于图像,您可以使用s来存储任何二进制数据或或多或少地作为BLOB进行管理,但数据存储在文件系统中,例如
    jpg
    文件

    参考资料:


      • 我们的工具可以为您解答这些问题。我说的是Oracle SQL开发人员

        首先,它有一个创建表向导,12/18c数据库支持标识列的本机实现

        还有你的新桌子

        CREATE TABLE MYCOUNT 
        (
          LINE INT GENERATED ALWAYS AS IDENTITY NOT NULL 
        );
        
        此外,我们还有一个转换器—它可以将SQL Server位转换为等效的Oracle位。有一个完整的迁移向导,它将捕获并转换您的整个数据模型

        但对于一次性,您可以使用草稿行。可在“工具”“迁移”菜单下找到

        在这里,它将获取您的代码,并为您提供可以在任何Oracle数据库中工作的内容


        如果您使用的是12/18c版本的Oracle,那么一定要使用该版本的标识功能。要维护的数据库对象更少

        请更改标题,我将删除我的否决票(但我还是回答了)。oracle引入自动递增键肯定已经过去了。顺序和触发器是管理键的更安全选项。您还可以使用它们来维护更新日期和更新程序。我认为检查触发器中的任何现有值通常是一个好主意,以防您想在某个点手动插入记录,或者必须使用预定义的ID进行批量插入。如果您在插入行时禁用触发器,我会说这是您的问题。此外,如果您运行的批处理禁用了触发器以提高性能,则最好更新序列以反映这一点。