【问题标题】:Listing all sequences in a SQL Server database列出 SQL Server 数据库中的所有序列
【发布时间】:2018-02-07 20:25:42
【问题描述】:

我试过了:

SELECT * 
FROM sys.sequences

我明白了:

错误:不支持“变体”数据类型。
SQLState: 08S01
错误代码:0

我知道有序列。有没有办法以某种方式在 GUI 中查看 SQL Server Management Studio 中的表序列?谢谢。

编辑:我注意到这不适用于 SQL Squirrel 客户端程序,但可以在 SQL Server Management Studio 中成功使用相同的查询。

【问题讨论】:

    标签: sql sql-server tsql sql-server-2012 sequence


    【解决方案1】:

    如果你想知道序列和值,你可以转换变量类型。例如,以下将提供您可能正在寻找的大部分详细信息:

    SELECT
      name,
      cast(start_value AS NUMERIC)   AS start_value,
      cast(increment AS NUMERIC)     AS increment,
      cast(current_value AS NUMERIC) AS current_value
    FROM sys.sequences;
    

    【讨论】:

    • 将 bigint 转换为数字数据类型时出现算术溢出错误。
    【解决方案2】:

    您可以在对象资源管理器的可编程性下找到 SSMS 中的序列:

    【讨论】:

    • 当然,如果您只是想看到它们,这始终是一种选择。如果你想在应用程序中使用它们,你必须知道如何查询它们;)
    【解决方案3】:

    您使用的是什么 SQL Server?来自documentation在 SQL Server 2005 及更高版本中,元数据在目录视图中的可见性仅限于用户拥有或已被授予某些权限的安全对象。确定您正在以适当的权限运行脚本?

    【讨论】:

    • 其实我只是注意到以下几点:我一开始使用的是 SQL Squirrel。查询在那里不起作用。然后我在 SQL Management Studio 中尝试了完全相同的查询,并且它起作用了。我得到了我想要的清单。它可能与我如何在每个客户端中授权自己或仅以他们访问数据库引擎的不同方式有关。
    • 哦,SQL 松鼠。是的,可能程序没有权限。
    猜你喜欢
    • 1970-01-01
    • 2011-02-23
    • 1970-01-01
    • 1970-01-01
    • 2014-09-29
    • 2023-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多