相关疑难解决方法(0)

在 spring boot schema.sql 文件中执行过程的问题

我在 Spring Boot 应用程序中使用schema.sql文件到CREATE/DROP表,它工作正常。

但是当我添加了更改表的程序时:

DELIMITER $$
CREATE PROCEDURE Alter_Table()
BEGIN
 IF NOT EXISTS( SELECT NULL
            FROM INFORMATION_SCHEMA.COLUMNS
           WHERE table_name = 'test_table'
             AND table_schema = 'test'
             AND column_name = 'cc_test_id')  THEN

  alter table test_table add cc_test_id VARCHAR(128) NOT NULL;

END IF;
END $$

call Alter_Table;
Run Code Online (Sandbox Code Playgroud)

我收到了:

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException exception.
Run Code Online (Sandbox Code Playgroud)

但是,在 MySQL 工作台中执行此过程并成功完成。

那么,有人应该知道这个问题的原因是什么,让我知道吗?

java mysql spring stored-procedures spring-boot

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

R 和 dplyr:如何使用compute() 从与源模式不同的模式中的SQL 查询创建持久表?

我有一个与Stackoverflow 帖子类似的问题。

\n

如何从数据库中的 SQL 查询创建持久表(我使用 DB2 数据库)?我的目标是使用一种模式中的表,并在另一种模式中永久创建或多或少修改过的表。

\n

到目前为止,有效的方法是将数据提取到R并随后在不同的模式中创建一个表:

\n
dplyr::tbl(con, in_schema("SCHEMA_A", "TABLE")) %>%\ncollect() %>% \nDBI::dbWriteTable(con, Id(schema = "SCHEMA_B", table = "NEW_TABLE"), ., overwrite = TRUE)\n
Run Code Online (Sandbox Code Playgroud)\n

但是,我想将该compute()函数合并到dplyr管道中,这样我就不必将数据提取到 R 中,也就是说,我想将数据保留在数据库中。作为旁注:我不知道如何用 \'s 替换\ DBI' s \xe2\x80\x93 能够做到这一点也会对我有所帮助。dbWriteTable()dplyrcopy_to()

\n

?compute()不幸的是,即使在阅读及其在线文档之后,我也无法使其工作。以下代码框架不起作用并导致错误:

\n
dplyr::tbl(con, in_schema("SCHEMA_A", "TABLE")) %>%\ndplyr::compute(in_schema("SCHEMA_B", "NEW_TABLE"), analyze = FALSE, temporary = FALSE)\n
Run Code Online (Sandbox Code Playgroud)\n

是否有使用解决方案compute()或适用于 dplyr 管道的其他解决方案?

\n

sql r dplyr dbplyr

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

标签 统计

dbplyr ×1

dplyr ×1

java ×1

mysql ×1

r ×1

spring ×1

spring-boot ×1

sql ×1

stored-procedures ×1