我正在运行一个很长的SQL脚本,我在false
条件下面临SET NOEXEC ON
的问题。
流量不是内部条件,但仍然有问题
也尝试使用Scanner scannerObject= new Scanner(System.in) ;
boolean answered = false;
while(!answered)
{
System.out.println("Enter what maths to use:");
System.out.println("Enter 1 for addition");
System.out.println("Enter 2 for Subtraction");
System.out.println("Enter 3 for multiplication");
System.out.println("Enter 4 for Division");
n1=scannerObject.nextInt();
if(n1>4)
{
System.out.println("That is not an option. Please try again");
}
else
{
answered = true;
}
}
,但仍然遇到问题。
答案 0 :(得分:0)
错误是在解析时抛出,甚至在执行之前。如果存在解析/验证错误,则不会执行任何操作,因为SQL引擎认为代码被错误地写入。
IF OBJECT_ID('tempdb..#Example') IS NOT NULL
DROP TABLE #Example
CREATE TABLE #Example (
FirstColumn INT)
GO
IF 1 = 0 -- Always false
BEGIN
SELECT
C.NonExistantColumn
FROM
#Example AS C
END
--Msg 207, Level 16, State 1, Line 5
--Invalid column name 'NonExistantColumn'.
将批次发送到服务器时,需要确保所有引用列都存在。另一种方法是使用动态SQL执行语句(服务器在执行之前不会解析)。