Sql server throw语句前的分号

Sql server throw语句前的分号,sql-server,Sql Server,为什么在throw语句之前需要分号? 它可以解决一些模棱两可的问题 比较 BEGIN TRAN THROW --Starts a transaction named "THROW" BEGIN TRY SELECT 1 / 0 END TRY BEGIN CATCH ROLLBACK TRAN THROW /*Rolls back the transaction named "THROW"*/ END CATCH 到 实际上,您应该在每个语句和问题解决后指定分号。不

为什么在
throw
语句之前需要分号?

它可以解决一些模棱两可的问题

比较

BEGIN TRAN THROW --Starts a transaction named "THROW"
BEGIN TRY
    SELECT 1 / 0
END TRY

BEGIN CATCH
    ROLLBACK TRAN
    THROW /*Rolls back the transaction named "THROW"*/
END CATCH 


实际上,您应该在每个语句和问题解决后指定分号。不使用语句终止符是不可取的。另一个糟糕的例子是@DanGuzman-谢谢-这比我的例子要简单。我认为你的例子一点也不复杂,甚至可能是一个在野外即将发生的常见事故。
BEGIN TRAN THROW --Starts a transaction named "THROW"
BEGIN TRY
    SELECT 1 / 0
END TRY

BEGIN CATCH
    ROLLBACK TRAN; /*rolls back the tran without caring about the name*/
    THROW --rethrows the error
END CATCH