标签: ddl

Hive中的日期比较

我正在使用Hive,我的表格结构如下:

CREATE TABLE t1 (
  id INT,
  created TIMESTAMP,
  some_value BIGINT
);
Run Code Online (Sandbox Code Playgroud)

我需要找到t1不到180天的每一行.即使表中存在与搜索谓词匹配的数据,以下查询也不会产生任何行.

select * 
from t1 
where created > date_sub(from_unixtime(unix_timestamp()), 180);
Run Code Online (Sandbox Code Playgroud)

在Hive中执行日期比较的适当方法是什么?

ddl timestamp hive hiveql

10
推荐指数
2
解决办法
5万
查看次数

JPA/EclipseLink - 创建脚本源,其中一个SQL语句占用多行

我想让持久性提供程序(EclipseLink 2.5.0)使用持久性单元属性"javax.persistence.schema-generation.create-script-source"和一个有效的SQL-自动在已存在的数据库中创建表. DDL脚本.

persistence.xml中:

<property name="javax.persistence.schema-generation.create-script-source" value="data/ddl.sql"/>
Run Code Online (Sandbox Code Playgroud)

ddl.sql:

USE myDatabase;

CREATE TABLE MyTable (
    id INTEGER NOT NULL AUTO_INCREMENT,
    myColumn VARCHAR(255) NOT NULL,
    PRIMARY KEY (id)
) ENGINE = InnoDB DEFAULT CHARACTER SET = utf8 DEFAULT COLLATE = utf8_bin;
Run Code Online (Sandbox Code Playgroud)

但是我收到以下错误:

[EL Warning]: 2014-02-12 13:31:44.778--ServerSession(768298666)--Thread(Thread[main,5,main])--Local Exception Stack: 
Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.5.0.v20130507-3faac2b): org.eclipse.persistence.exceptions.DatabaseException
Internal Exception: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to …
Run Code Online (Sandbox Code Playgroud)

ddl jpa newline persistence.xml eclipselink

10
推荐指数
1
解决办法
1176
查看次数

Oracle - 在单个查询中删除多个表

我在数据库中有五十个表,因为我只需要六个表.

如何通过一个查询删除剩余的表?

oracle ddl

10
推荐指数
2
解决办法
4万
查看次数

使用Draw.io生成SQL/DDL脚本?

互联网上有很多关于如何使用 sql 脚本将表导入 Draw.io 上的 ER 图表的资源。

例如这里(但我通过谷歌搜索找到了大量资源):

https://desk.draw.io/support/solutions/articles/16000082007-use-the-sql-plugin-to-create-an-entity-relationship-diagram (请参阅段落“从 SQL 代码创建 ER 图”)

我找不到任何相反方向的东西。是否可以从通过 Draw.io 创建的 ER 图创建 DDL 脚本?

(插件?导出为 xml 并在其他工具中导入?还有其他什么...)

我正在处理供应商以 Draw.io 格式提供的 ER 图。我想避免手写所有 DDL...(我的情况是 Oracle 12)

sql ddl erd draw.io

10
推荐指数
2
解决办法
2万
查看次数

如何为 postgres 中的列设置非空约束

我尝试将 null 设置为如下所示的列。

ALTER TABLE myschema.table ALTER COLUMN (test_id,type) SET NOT NULL;

但它返回语法错误,例如 Syntax error at or near Line 3, Position 47

有没有适当的方法来实现这一目标?

如果有人有意见请告诉我。

谢谢

sql postgresql ddl alter-table

10
推荐指数
2
解决办法
5402
查看次数

如何自动将MySQL DDL转换为Oracle DDL?

我知道我的问题听起来有点像购物请求,但我真的相信很多人都会发现它很有用.

我一直在寻找一种自动工具,将数据定义语言从MySQL方言转换为Oracle方言 - 另一种方式也可以.我找到了"SQL童话",但我无法运行它; 可能是因为我不熟悉PERL.

是否有适用于Windows的免费工具将MySQL DDL转换为Oracle DDL?

mysql sql oracle ddl converter

9
推荐指数
2
解决办法
2万
查看次数

将列类型从时间戳不带时区更改为带时区的时间戳

ALTER COLUMN在PostgreSQL 9.3 ALTER TABLE手册页中找到了这个语句:

ALTER TABLE audits
    ALTER COLUMN created_at SET DATA TYPE timestamp with time zone
    USING
        timestamp with time zone 'epoch' + created_at * interval '1 second';
Run Code Online (Sandbox Code Playgroud)

我似乎无法让这个工作.我收到这个错误:

ERROR: operator does not exist: timestamp without time zone * interval
SQL state: 42883
Hint: No operator matches the given name and argument type(s).
You might need to add explicit type casts.
Run Code Online (Sandbox Code Playgroud)

ALTER TABLE声明看起来很直盼着.但我已经尝试了各种类型的转换和转换列类型,但无法使其工作.我错过了什么?

sql postgresql ddl timezone alter-table

9
推荐指数
1
解决办法
1万
查看次数

使用Hibernate4/JPA 2.1在MAVEN版本中生成DDL脚本

似乎hibernate3-maven-plugin用于生成DDL创建/删除脚本的Hibernate 4.3版本与更新版本(使用JPA 2.1)不再兼容.

我使用这个插件配置:

            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>hibernate3-maven-plugin</artifactId>
                <version>3.0</version>
                <executions>
                    <execution>
                        <id>generate-sql-schema</id>
                        <phase>process-sources</phase>
                        <goals>
                            <goal>hbm2ddl</goal>
                        </goals>
                        <configuration>
                            <hibernatetool>
                                <jpaconfiguration persistenceunit="${persistenceUnitName}" />
                                <hbm2ddl update="true" create="true" export="false"
                                    outputfilename="src/main/sql/schema.sql" format="true"
                                    console="true" />
                            </hibernatetool>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
Run Code Online (Sandbox Code Playgroud)

但是我收到以下错误:

[ERROR] Failed to execute goal org.codehaus.mojo:hibernate3-maven-plugin:3.0:hbm2ddl (generate-sql-schema) on project my-project: There was an error creating the AntRun task.
An Ant BuildException has occured: java.lang.NoClassDefFoundError: org/hibernate/util/ReflectHelper: org.hibernate.util.ReflectHelper -> [Help 1]
Run Code Online (Sandbox Code Playgroud)

此类迁移到新包: org.hibernate.internal.util.ReflectHelper

但是我发现没有明确的方法可以在MAVEN版本中继续生成DDL创建脚本.

没有hibernate4-maven-plugin或任何其他官方方式来做到这一点.

所以呢 ?这不是一个应该支持的主要功能吗?怎么做 ?

ddl maven hibernate3-maven-plugin hibernate-4.x jpa-2.1

9
推荐指数
1
解决办法
1万
查看次数

CREATE SCHEMA如果不是EXISTS引发重复键错误

为了给出一些上下文,命令在任务内部发出,许多任务可能同时从多个worker发出相同的命令.

每个任务都尝试创建一个postgres架构.我经常收到以下错误:

IntegrityError: (IntegrityError) duplicate key value violates unique constraint "pg_namespace_nspname_index"
DETAIL:  Key (nspname)=(9621584361) already exists.
 'CREATE SCHEMA IF NOT EXISTS "9621584361"'
Run Code Online (Sandbox Code Playgroud)

Postgres版本是PostgreSQL 9.4rc1.
这是Postgres的一个错误吗?

postgresql concurrency ddl catalog

9
推荐指数
1
解决办法
1877
查看次数

如何在 PostgreSQL 11.1 中将现有列更改为 Identity

我想将我现有的列更改为 Postgres 数据库中的自动标识。
我试过下面的脚本,但它不起作用。
如果您有相同的解决方案,请
告诉我我不想使用 postgres SEQUENCE。我想使用GENERATED ALWAYS AS IDENTITY

ALTER TABLE public.patient ALTER COLUMN patientid Type int4 
USING patientid::int4 GENERATED ALWAYS AS IDENTITY;
Run Code Online (Sandbox Code Playgroud)

postgresql ddl identity

9
推荐指数
1
解决办法
8301
查看次数