以下是我用来在我的数据库中部署 SQL 脚本的一小段代码。我只是想知道我是否可以根据结果自动执行此提交或回滚任务。
disc
connect username/password@database
spool D:\Deployments\path\to\logfile\logfile.log
@D:\Deployments\path\to\script\sqlquery_script.sql
Run Code Online (Sandbox Code Playgroud)
如果 sql 脚本成功运行而没有任何错误意味着我希望系统自动提交它,如果发生任何错误,所有事务都应该回滚(请注意,我的 sql 脚本有很多更新语句)
当我使用WHENEVER SQLERROR EXIT SQL.CODE ROLLBACK;SQL* plus 窗口关闭时,没有显示任何错误。
请帮助解决这个问题。
我git在 Windows 上使用,当我使用commit command in the command prompt, my Notepad++ opens up and asks me to put in a commit message as follows:
# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
# On branch master
# Your branch is up-to-date with 'origin/master'.
Run Code Online (Sandbox Code Playgroud)
This is great, but I want to be able to separate the message title from its body. When I …
考虑以下,我在 github 上有两个分支:master 和 dev。我有一个本地存储库,它是一个克隆并指向远程 master,但我想将它切换到 dev 分支,以便我所做的任何更改都将提交给 dev 而不是 master。需要采取哪些步骤才能做到这一点?我尝试了多种方法,但它们似乎从未奏效,并且始终致力于掌握。请简单解释一下,因为我还是 Git 和 libgit2sharp 的新手,所以我仍在努力解决它。
编辑:我使用 libgit2sharp 库来发出 git 命令,而不是 Git shell
我是 Java 初学者,在插入 HSQLDB 表时遇到问题。
我希望此代码在 VEHICLE 表中添加一个条目。
但是启动这段代码后, table 中没有出现新行VEHICULE,并且控制台中没有任何错误消息。
在控制台中,我可以读取 println() 的结果:VehiculeDAO 85:车辆查询: INSERT INTO VEHICULE (MARQUE, MOTEUR, PRIX, NOM, ID) VALUES ('2','2','14322.429728209721','tbsyfewdfj','52')
这是我的代码
package fr.ocr.dao.implement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.List;
import fr.ocr.dao.DAO;
import fr.ocr.sql.HsqldbConnection;
import test.database.Main;
import voiture.Marque;
import voiture.Vehicule;
import voiture.moteur.Moteur;
import voiture.option.Option;
public class VehiculeDAO extends DAO<Vehicule>{
Connection connect;
String query = "";
public VehiculeDAO(Connection conn) {
super(conn);
connect = conn;
}
public boolean …Run Code Online (Sandbox Code Playgroud) 在某些情况下,我在功能分支上执行 git pull 操作,最终得到多个烦人的“合并提交”,我可以理解它们为什么会发生,但我想将它们合并起来,使其看起来像正常提交。
我尝试使用git rebase -i --rebase-merges HEAD~4但无法弄清楚如何压缩合并提交。
我做了进一步的研究,经过大量的挖掘,我能够执行以下操作,使用 rebase 将不需要的合并提交合并到正常提交中,然后在需要时压缩它们:
git checkout feature
git pull # will create merge commits
git checkout featur_backup # to create a backup
git switch --orphan emty_commit
git commit -m "First empty commit for the feature branch" --allow-empty
git switch feature
git rebase empty_commit
git rebase -i --root # this allows you to squash commits
git branch -D empty_commit
Run Code Online (Sandbox Code Playgroud)
有没有更好的方法来合并合并提交?
笔记:
在 Git 上,我目前在分支上有一些暂存但未提交的更改master。
我不想提交到 master 分支,而是想
development;然后reset/清除 上的分阶段更改master;然后development到master远程,并保留development分支;然后master从远程刷新本地master,而不更改本地现有的未提交文件请问我应该怎么做呢?我仍然是 git 的初学者,所以请分步骤解释一下,以便我可以遵循。
add注1:我的分阶段更改包含 100 多个文件,因此手动将它们逐一手动挑选到新分支会很痛苦。如果可能的话,我试图避免这种容易出错的方式。
注2:有超过30个文件我没有暂存更改。即使从远程刷新后,我也想在本地保留这些更改master。
我的印象是标签会像提交一样,如果我有一个基于旧提交的克隆,我不希望看到git标签输出中列出的新标签.
但是,这种假设显然是错误的.它破坏了我计划使用标签的方式.我正在使用简单的标签.其他类型的标签会在时间上有所不同吗?
我对Git很新.现在我只有一个存储库的主分支.我开始与另一个人合作,我很困惑如何在这个人的同时做出调整.我正在使用Tower,所以我不需要在命令行上学习任何东西 - 我只是在寻找流程描述.
我的直觉是每个人都有我们自己的分支机构,我们正在单独处理.这是正确的方法吗?一旦工作完成,我们是否只将这些分支与我们的主人合并?
让我们说这个人做了一个改变并将它提交到主分支,而我一直在我的分支中处理其他事情 - 我如何将他的工作与我自己合并?
我想构建一个存储过程:1.截断表A 2.截断表B 3.在表A中插入(大量)行4.在表B中插入(大量)行
存储过程应仅在步骤4之后提交语句,以便表不会被锁定并且不会遇到停机时间.如果发生错误(例如,在步骤4中),则必须回滚所有更改.我自己尝试写这篇文章,但是在每次发言之后都做了.
create or replace PROCEDURE upall as
BEGIN
execute immediate 'truncate table MAIN.SET';
insert into MAIN.SET select * from MAIN.SET_STAG;
execute immediate 'truncate table MAIN.TYPE';
insert into MAIN.TYPE select * from MAIN.TYPE_STAG;
COMMIT;
EXCEPTION WHEN OTHERS THEN
ROLLBACK;
RAISE;
END;
Run Code Online (Sandbox Code Playgroud)