标签: ddl

Microsoft Access DateTime默认现在通过SQL

我正在编写一些脚本来更新大量的Access表.我想为每个都添加一个列,该列有一个名为"date_created"的字段,该字段是创建记录时的时间戳.通过表视图执行此操作非常简单,只需设置DefaultValue = now()即可.但是,我如何在sql中完成此操作?

这是我目前对已有列的表的尝试.此示例使用"tblLogs".

ALTER TABLE tblLogs ALTER COLUMN date_created DEFAULT now()
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助!

更新 - 有没有办法在VBA中执行此操作?

更新2 - 测试所有答案和以下onedaywhen是最短和最准确的

CurrentProject.Connection.Execute _
    "ALTER TABLE tblLogs ALTER date_created DATETIME DEFAULT NOW() NOT NULL;"
Run Code Online (Sandbox Code Playgroud)

sql ddl ms-access vba

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

Oracle DDL在自治事务中

我需要在Oracle数据库上执行一堆(最多~1000000)sql语句.这些语句应该在结尾处产生引用一致的状态,并且如果发生错误,应该回滚所有语句.这些陈述不是以参考顺序出现的.因此,如果启用了外键约束,则其中一个语句可能会导致外键违规,即使这种违规也将通过稍后将执行的语句修复.

我尝试首先禁用外键并在执行所有语句后启用它们.我认为当有实际的外键违规时我能够回滚.我错了,我发现Oracle中的每个DDL语句都以提交开始,因此无法以这种方式回滚语句.这是我的禁用外键的脚本:

begin 
  for i in (select constraint_name, table_name from user_constraints
            where constraint_type ='R' and status = 'ENABLED') 
    LOOP execute immediate 'alter table '||i.table_name||' disable constraint 
                           '||i.constraint_name||''; 
  end loop;
end;
Run Code Online (Sandbox Code Playgroud)

经过一些研究,我发现建议在自治事务中执行DDL语句,就像在这种情况下一样.所以我试图在自治事务中运行DDL语句.这导致以下错误:

ORA-00054:资源繁忙并且使用NOWAIT指定获取

我猜这是因为主事务仍然对表有DDL锁定.

我在这里做错了什么,还是有其他办法让这个场景有效?

oracle ddl transactions constraints ora-00054

7
推荐指数
1
解决办法
2128
查看次数

如何在SQL Server 2005中创建禁用的触发器?

使用Oracle时,您可以创建一个禁用的触发器,在触发器主体之前指定单词DISABLE.如何在Sql Server中实现相同的效果?

sql sql-server ddl triggers sql-server-2005

7
推荐指数
1
解决办法
3452
查看次数

创建仅在创建新表时运行的触发器

我知道我可以用它来创建DDL创建触发器;

CREATE OR REPLACE TRIGGER 
  create_table_trigger
  AFTER CREATE ON SCHEMA
DECLARE
BEGIN
END;
Run Code Online (Sandbox Code Playgroud)

问题是这个触发器会在"创建序列"之类的DDL上运行; 我怎样才能为'创建表'DDL执行此操作?

sql database oracle ddl triggers

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

hive ddl脚本的标准文件扩展名?

是否有针对hive ddl脚本的文件扩展名的公认约定?我纯粹是在要求代码组织的目的,所以当我将脚本保存在我的存储库中时,很明显脚本在Hive中.

ddl hive

7
推荐指数
1
解决办法
6079
查看次数

什么是mysql/magento中的Varien_Db_Ddl_Table :: TYPE_TEXT

我在magento mysql安装或升级脚本中看到过,他们使用以下命令添加列:

$installer->getTable('catalog/eav_attribute'),
    'tooltip',
    array(
        'type'      => Varien_Db_Ddl_Table::TYPE_TEXT,
        'nullable'  => true,
        'comment'   => 'Tooltip'
    )
Run Code Online (Sandbox Code Playgroud)

我想知道什么是Varien_Db_Ddl_Table :: TYPE_TEXT?如果我想在mysql表中手动添加工具提示列,那么我应该在类型部分中使用什么?它只是' TEXT '吗?

php mysql ddl magento

7
推荐指数
1
解决办法
8914
查看次数

如何将主键从整数转换为串行?

在Postgres 9.3表中,我有一个integer主键,自动序列递增,但我达到了最大值integer.如何将其转换integerserial
我试过了:

ALTER TABLE my_table ALTER COLUMN id SET DATA TYPE bigint;
Run Code Online (Sandbox Code Playgroud)

但是相同的数据类型不适serial用于bigint.好像我无法转换为serial

postgresql ddl types auto-increment postgresql-9.3

7
推荐指数
1
解决办法
9100
查看次数

使用自定义分隔符生成具有弹簧引导的DDL

我想使用带有JPA - Hibernate 5.0.11的spring boot v1.4.3生成create和drop ddl脚本.

我找到的大多数答案都使用了javax.persistence.schema-generation属性.例如/sf/answers/2587649361/

这种方法的问题是它输出没有分隔符的sql语句.例如

create table ... (...)
create table ... (...)
Run Code Online (Sandbox Code Playgroud)

我希望它用分隔符输出语句 ;

create table ... (...);
create table ... (...);
Run Code Online (Sandbox Code Playgroud)

但我找不到任何javax.persistence.schema-generation属性来配置它.

所以我想使用SchemaExportfrom hibernate,因为你可以设置delimiter属性.但要创建一个SchemaExport我需要一个MetadataImplementor(非删除的api).

我无法弄清楚如何MetadataImplementor从春季靴子中获得一个.

有没有人知道是否有

  • javax.persistence.schema-generation用于定义分隔符的属性
  • 或者如何创建SchemaExport(获取依赖项)
  • 还是有其他解决方案?

这是您可以使用的一些代码

@SpringBootApplication
@ComponentScan(basePackageClasses = Application.class)
@EntityScan(basePackageClasses = User.class)
public class Application {

    @Bean
    public ApplicationRunner getApplicationRunner() {
        return new ApplicationRunner() {

            public void run(ApplicationArguments args) throws Exception …
Run Code Online (Sandbox Code Playgroud)

ddl spring hibernate spring-data-jpa spring-boot

7
推荐指数
2
解决办法
2909
查看次数

授予Oracle包的权限?

我有一个package A,它package B同一个模式中使用另一个变量和过程.现在我想转移package A架构.我应该授予什么特权的new schema使用package B同样的方式?什么是授权声明?

sql oracle ddl

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

使用 Postgresql 外部数据包装器更新表

  1. t_user我创建了一个名为into的外部数据包装表mySchema

    IMPORT FOREIGN SCHEMA public LIMIT TO (t_user)
       FROM SERVER myServer INTO mySchema;
    
    Run Code Online (Sandbox Code Playgroud)
  2. 这边添加了一些列,myServer但是t_user外表没有相应更新。

  3. 我尝试删除外部表t_user,但它被我的视图和物化视图使用t_user,因此删除失败。

关于如何更新此表有什么想法吗?

postgresql ddl foreign-data-wrapper

7
推荐指数
1
解决办法
6060
查看次数