- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这是我尝试通过 sqlcmd (SQL Server 2005) 运行的一些 Transact-SQL。
USE PUK;
GO
BEGIN TRANSACTION;
BEGIN TRY
-- - Modify RETRIEVAL_STAT
alter table dbo.RETRIEVAL_STAT add
SOURCE nvarchar(10) NULL,
ACCOUNTNUMBER nvarchar(50) NULL,
PUK nvarchar(20) NULL;
-- transform logic.
update dbo.RETRIEVAL_STAT set
SOURCE = 'XX',
ACCOUNTNUMBER = 'XX',
PUK = 'XX';
END TRY
BEGIN CATCH
SELECT
ERROR_NUMBER() AS ErrorNumber
,ERROR_SEVERITY() AS ErrorSeverity
,ERROR_STATE() AS ErrorState
,ERROR_PROCEDURE() AS ErrorProcedure
,ERROR_LINE() AS ErrorLine
,ERROR_MESSAGE() AS ErrorMessage;
IF @@TRANCOUNT > 0
ROLLBACK TRANSACTION;
END CATCH;
IF @@TRANCOUNT > 0
COMMIT TRANSACTION;
GO
我收到以下错误:
(0 rows affected)
Changed database context to 'PUK'.
Msg 207, Level 16, State 1, Server localhost\SQLEXPRESS, Line 11
Invalid column name 'SOURCE'.
Msg 207, Level 16, State 1, Server localhost\SQLEXPRESS, Line 11
Invalid column name 'ACCOUNTNUMBER'.
Msg 207, Level 16, State 1, Server localhost\SQLEXPRESS, Line 11
Invalid column name 'PUK'.
我猜测这是因为alter语句引入的新列还没有提交,所以更新失败。
我的问题是如何让它发挥作用?我希望它作为单个事务运行,如果出现问题,我可以回滚。这很重要,因为我还有更多的更改语句要包含,并且对我无法超越这一点感到有点沮丧。
任何帮助将不胜感激!
罗布:)
最佳答案
即使我正在写自己的答案 - 所有功劳都归功于@Mikael Eriksson,他建议我需要用 GO 分隔不同的批处理 - 这样更改表的代码不会与使用更改的代码发生冲突 table 。谢谢迈克尔!
USE PUK;
GO
BEGIN TRANSACTION;
BEGIN TRY
-- - Modify RETRIEVAL_STAT
alter table dbo.RETRIEVAL_STAT add
SOURCE nvarchar(10) NULL,
ACCOUNTNUMBER nvarchar(50) NULL,
PUK nvarchar(20) NULL;
END TRY
BEGIN CATCH
SELECT
ERROR_NUMBER() AS ErrorNumber
,ERROR_SEVERITY() AS ErrorSeverity
,ERROR_STATE() AS ErrorState
,ERROR_PROCEDURE() AS ErrorProcedure
,ERROR_LINE() AS ErrorLine
,ERROR_MESSAGE() AS ErrorMessage;
IF @@TRANCOUNT > 0
ROLLBACK TRANSACTION;
END CATCH;
IF @@TRANCOUNT > 0
COMMIT TRANSACTION;
GO
USE PUK;
GO
BEGIN TRANSACTION;
BEGIN TRY
-- transform logic.
UPDATE dbo.RETRIEVAL_STAT
SET SOURCE = 'ABC',
ACCOUNTNUMBER = ABC.ACCOUNTNUMBER,
PUK = ABC.PUK
FROM RETRIEVAL_STAT RS
INNER JOIN ABC
ON RS.SERVICE_NUMBER = ABC.SERVICENUMBER;
UPDATE dbo.RETRIEVAL_STAT
SET SOURCE = 'DEF',
ACCOUNTNUMBER = DEF.BILLINGACCOUNTNUMBER ,
PUK = DEF.PUK
FROM RETRIEVAL_STAT RS
INNER JOIN DEF
ON RS.SERVICE_NUMBER = DEF.SERVICENUMBER;
UPDATE dbo.RETRIEVAL_STAT
SET SOURCE = 'No Match'
WHERE SOURCE IS NULL;
-- Fix other columns that should be not nullable.
alter table dbo.RETRIEVAL_STAT
alter column SERVICE_NUMBER nvarchar (50) NOT NULL;
alter table dbo.DEF
alter column PUK nvarchar (20) NOT NULL;
END TRY
BEGIN CATCH
SELECT
ERROR_NUMBER() AS ErrorNumber
,ERROR_SEVERITY() AS ErrorSeverity
,ERROR_STATE() AS ErrorState
,ERROR_PROCEDURE() AS ErrorProcedure
,ERROR_LINE() AS ErrorLine
,ERROR_MESSAGE() AS ErrorMessage;
IF @@TRANCOUNT > 0
ROLLBACK TRANSACTION;
END CATCH;
IF @@TRANCOUNT > 0
COMMIT TRANSACTION;
GO
关于sql - 使用 Transact-SQL 在 try catch 中使用 tran 进行 alter then update 时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7426199/
我对 Django 很陌生,我正在用 i18n 做一个项目,问题是我已经使用 .manage.py makemessages / compilemessages 翻译了一些变量。在我的模板文件上,但是
当 BEGIN TRANS - COMMIT TRANS 在一个 SP 中完成并且多个 SP 在 TransactionScope 中执行并且在完成范围之前抛出错误时会发生什么。 所以伪代码如下 //
关于 hash 作为 trans 参数的另一个问题。在下面的代码中,简单地使用 hash 会给出不正确的结果,但是将其替换为 keys 和 values 会使其正确。怎么了? my @alph1 =
在显式事务中,如果我通过提供 BEGIN TRANS 来启动事务,但如果我不提供 COMMIT、ROLLBACK 或 END TRANS,那么应用程序会发生什么情况? 最佳答案 无 - 交易仍在进行中
我有一个要通过“换行符”过滤器传递的字符串。 {% trans "my string"|linebreaks %} 不起作用。 还有其他方法吗? 最佳答案 见 filter . {% filter f
我找不到使用 trans 进行翻译的方法单引号转为转义单引号: say ($ = "'well done'").=trans("'" => "\\\'" ) ;# OUTPUT: «\well don
ROLLBACK TRAN 会回滚我的 SP 中的所有内容吗? (包括对另一个SP的调用) 示例: BEGIN TRAN INSERT INTO (table1) VALUES (1,'abc
根据this section在 Django 文档中,对于需要翻译复数形式的情况,我应该使用 {% blocktrans %} 。但是,通过下面的示例,我是否可以做一些更方便的事情? {% block
我在我的模板中使用了 twig trans 标签,我想像这样在其中传递变量: {% trans with { '%link_start%': '', '%link_end%': '' }
我正在为已经存在的报告编写“预览”。按照现在的程序,生成报告会更改数据库(它会为订单生成发票,然后生成报告)。现在我需要一种在不更改数据库的情况下生成报告的方法。生成发票比删除它更容易,所以我在考虑这
这是关于 Django 教程 - 第 2 部分 http://docs.djangoproject.com/en/dev/intro/tutorial02/ 在更改管理页面模板的部分中,我尝试在 ba
当trans方法与正则表达式一起使用,例如 /^/ ,挂了,再也回不去了! for (-9, -6 ... 0, 2 , 4 ... 10).rotor( 2 => -1) { .join('
在Django模板中,这两者到底有什么区别: {% blocktrans %}My Text{% endblocktrans %} {% trans 'My Text' %} 最佳答案 来自 Djan
我正在处理一个 Symfony2 项目,并有一个问题。 合一 Twig 模板我从 Controller 收到一个变量。这是一个字符串,我需要翻译它。但是语法 {% trans %}{{ post['n
我使用 Symfony2.1 并有默认的 config.yml Documentation said : {# but static strings are never escaped #}
我想这样做: $this->get('translator')->trans('notice.unregistered', array(), 'index'); 在 Twig 模板中,所以我不必将其作
我有一个问题应该(希望)很容易解决。我已经在我的项目中安装了react-i18next并且一切正常,我能够在功能组件、类中进行翻译,但我现在唯一的问题是在类组件中,特别是关于html属性,我说的是图像
Django 1.4 文档说,您可以使用以下语法将翻译后的字符串转换为“vars”,以便在不同的地方使用或用作模板标签或过滤器中的参数: {% trans "String" as my_transla
{% trans 'Enter your friend's name and email below, and click "send invite" to invite your friend.'
我拥有的基本模板: {% load auth_extras %} {% if request.user|has_group:"Administrator" %} Admin Section &nbs
我是一名优秀的程序员,十分优秀!