Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL Try捕获由最近的变量引起的确切错误_Sql_Sql Server_Sql Server 2005_Tsql_Error Handling - Fatal编程技术网

SQL Try捕获由最近的变量引起的确切错误

SQL Try捕获由最近的变量引起的确切错误,sql,sql-server,sql-server-2005,tsql,error-handling,Sql,Sql Server,Sql Server 2005,Tsql,Error Handling,查询: 我怎样才能得到“镇静剂”,可能吗? SQL 2005,它将位于SP中,您正在使用哪个数据库? 还有,这是哪种编程语言 通常会有一个INTO子句和一些局部变量声明 您的查询至少应该有一个FROM子句,您使用的是哪个数据库? 还有,这是哪种编程语言 通常会有一个INTO子句和一些局部变量声明 您的查询至少还应该有一个FROM子句。不清楚您是否希望返回的值被放入@variables中,或者您是否试图动态指定要选择的列。在Sql Server存储过程中,通常返回一个结果集,而不是一组单独的变量。

查询:

我怎样才能得到“镇静剂”,可能吗?
SQL 2005,它将位于SP中,您正在使用哪个数据库? 还有,这是哪种编程语言

通常会有一个INTO子句和一些局部变量声明


您的查询至少应该有一个FROM子句,您使用的是哪个数据库? 还有,这是哪种编程语言

通常会有一个INTO子句和一些局部变量声明


您的查询至少还应该有一个FROM子句。不清楚您是否希望返回的值被放入@variables中,或者您是否试图动态指定要选择的列。在Sql Server存储过程中,通常返回一个结果集,而不是一组单独的变量。如果希望返回列值,那么您使用的语法将不起作用,因为您使用的语法将根据传递到存储过程中的列名动态指定需要哪些列。这将不起作用,因为存储过程必须知道在存储过程中对其进行分析时要查找哪些列。现在,如果从数据库通信中断、磁盘错误等读取数据时出现问题,将触发except子句。在这种情况下,将不知道列值


选择数据库定义存储过程并对其进行测试后,使用SqlManager中“工具”菜单下的“Sql查询分析器”工具。如果在安装SqlManager时安装了文档,请转到“开始”>“程序”>“Microsoft Sql Server”>“联机丛书”,并打开Transact-Sql参考节点,获取有关可以执行的操作的文档。

不清楚您是否希望返回值放入@variables中,或者是否尝试动态指定要选择哪些列。在Sql Server存储过程中,通常返回一个结果集,而不是一组单独的变量。如果希望返回列值,那么您使用的语法将不起作用,因为您使用的语法将根据传递到存储过程中的列名动态指定需要哪些列。这将不起作用,因为存储过程必须知道在存储过程中对其进行分析时要查找哪些列。现在,如果从数据库通信中断、磁盘错误等读取数据时出现问题,将触发except子句。在这种情况下,将不知道列值

选择数据库定义存储过程并对其进行测试后,使用SqlManager中“工具”菜单下的“Sql查询分析器”工具。如果您在安装SqlManager时安装了文档,请转到“开始”>“程序”>“Microsoft Sql Server”>“联机丛书”,并打开Transact-Sql参考节点以获取有关可以执行的操作的文档。

像这样,否

   BEGIN TRY
     SELECT @AccountNumber,
            @AccountSuffix,
            @Sedat,
            @Dedo,
            @Payalo,
            @Artisto
   FROM SWORDBROS
    WHERE AMAZING ='HAPPENS'

    END TRY
    EGIN CATCH
       Print @Sedat
    END CATCH
像这样,不是吗

   BEGIN TRY
     SELECT @AccountNumber,
            @AccountSuffix,
            @Sedat,
            @Dedo,
            @Payalo,
            @Artisto
   FROM SWORDBROS
    WHERE AMAZING ='HAPPENS'

    END TRY
    EGIN CATCH
       Print @Sedat
    END CATCH

在proc中,当我想要捕获导致erorr的确切值时,我就是这么做的。我声明一个非常重要的表变量必须是一个表变量,而不是一个临时表,它包含我想要了解的字段。我用记录填充表变量。在多步过程中,如果我想查看who进程,我会为每个步骤添加一条记录,或者如果我遇到错误,我只会添加一条记录,在本例中,我通常会在catch块中填充该错误。然后在catch块中回滚事务,然后将表varaible的内容插入到永久异常处理表中。如果你愿意,你也可以选择这个表,但如果我遇到这么多麻烦,通常是为了一个自动化的过程,我需要能够在以后研究问题,而不是在问题出现时看到问题,因为我没有在我的mchine上运行它,或者我可以看到select或print语句。通过使用表varaible(即使在回滚之后仍保持在范围内),我的信息仍然可以用于登录异常日志记录表。但重要的是,在回滚之后,您必须对任何永久表进行日志记录,否则进程将与其他所有内容一起回滚

在进程中,当我想要捕获导致erorr的确切值时,我就是这么做的。我声明一个非常重要的表变量必须是一个表变量,而不是一个临时表,它包含我想要了解的字段。我用记录填充表变量。在多步过程中,如果我想查看who进程,我会为每个步骤添加一条记录,或者如果我遇到错误,我只会添加一条记录,在本例中,我通常会在catch块中填充该错误。然后在catch块中回滚事务,然后将表varaible的内容插入到永久异常处理表中。如果你愿意,你也可以选择这个表格,但是如果我遇到这么多麻烦,通常是为了一个自动化的过程,我需要能够研究pr 在以后的时间出现问题,因为我没有在我的mchine上运行它,或者在那里我可以看到select或print语句,所以当问题出现时就看不到问题。通过使用表varaible(即使在回滚之后仍保持在范围内),我的信息仍然可以用于登录异常日志记录表。但重要的是,在回滚之后,您必须对任何永久表进行日志记录,否则进程将与其他所有内容一起回滚