问题标签 [system-tables]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql-server - 列出表和表扩展属性
我想返回我的数据库中所有表的列表以及该表的任何相关扩展属性。
这给了我表格列表:
这为我提供了包含它们的表的扩展属性列表:
我看不到如何组合这些并正确保留 WHERE 条件。这是错误的,但它会让您了解我哪里出错了:
在 Simon1979 的答案下方的乔的评论中添加...
c# - 从“MSDB”系统表中读取数据
在我的应用程序中,我想blind_copy_recipients
从 SQL Server 2012 中的数据库“MSDB”中的系统表“sysmail_mailitems”中检索。我在 C# Web 应用程序中使用实体框架来查询数据库。sysmail_mailitems
我创建了一个从中读取数据的类和方法。但它实际上使用此名称在系统表之外创建了一个新表。我的目标不是创建一个表,而只是从现有表中读取。谁能指导我如何做到这一点?
代码:
oracle12c - Oracle 12c 中 SYS.ALL_TAB_COLUMNS 和 SYS.ALL_TAB_COLS 的区别
Oracle 12c 中的表ALL_TAB_COLUMNS
和系统表有什么区别?ALL_TAB_COLS
在我的数据库中,ALL_TAB_COLUMNS 的行数略少于 ALL_TAB_COLS。
sql - 如何在 Sybase 中获取正确的列类型
我必须知道 Sybase ASE 中我的表中某些列的数据类型。这是我的查询
这返回
我希望它会回来
为什么结果不符合预期?我怎样才能获得正确的列类型?我打算稍后使用这些信息来创建一个动态查询来创建另一个表。
sql-server - sys.objects.type_desc 列与递归 CTE 中的锚点不匹配
我有以下 CTE:
它向我返回消息“递归查询“Cte”的“类型”列中的锚点和递归部分之间的类型不匹配。sys.objects.type_desc 应该是一个 NVARCHAR(60) 所以它不应该需要 CONVERT 但是在得到错误之后我没有添加它以确保或其他东西。
如果我在递归部分将 JOIN 删除到 Cte 上并硬编码 [Level] 以使 CTE 不再递归,则 SQL 运行良好。如果我将 sys.objects 的内容插入到临时表中,并将 CTE 的递归部分中的 sys.objects 替换为临时表,则 SQL 运行良好。任何使用 CAST 而不是 CONVERT 或将目标类型从 NVARCHAR(60) 更改为另一个 NVARCHAR 或 VARCHAR 的尝试都不会更改结果。
有什么想法吗?
谢谢
(同样显然 SQL 是无用的,这只是一个重现我在使用较大代码时遇到的错误的示例。)
编辑:还应该补充一点,我在这里运行 SQL Server 2012(尽管我在 2014 年也尝试过同样的操作并且遇到了同样的问题)。
sql - 我如何知道创建特定列的原因以及根据系统基表中的列更新内容?
我对 SQL Server 系统基表有一个疑问。
我如何知道创建特定列的原因以及根据系统基表中的列更新内容?
例如在 sys.sysschobjs 系统基表中维护有关在数据库中创建的所有对象的详细信息。该表包含 nsclass、pclass、status、intprop 这些列。如何知道这些列在什么基础上具有值?nsclass 包含 0,为什么在该列中为特定对象更新 0 并且状态列包含 1 用于存储过程为什么这些值?我能知道吗?
sqlite - sqlite_master 中的 name 和 tbl_name 有什么区别?
name
in和tbl_name
in和有什么不一样sqlite_master
?
select - 如果使用 REMARKS,SYSIBM.SYSCOLUMNS 查询会显示两次列
在使用 DB2 时,我注意到一个奇怪的行为SYSIBM.SYSCOLUMNS
,它只出现在一个表中。
这是我的查询:
通常结果显示每个表一次。
但是如果我使用一个特定的表,我们称之为它Table2
,每列显示两次:
但前提是我REMARKS
在选择语句中包含了。如果我REMARKS
从我的选择中删除,一切都会按预期工作。
这个问题的原因可能是什么?我的查询有问题吗?
sql-server - SQL Server 查询系统对象
我的主数据库中有一个存储过程。它由提供所有参数的外部程序使用。提供的参数之一是数据库名称。在该数据库中应该有一个名为xyz
.
当请求的数据库中不存在该表时,我收到异常。我想在存储过程中写一些东西来检查该表是否存在,如果它不存在则返回更有用的东西。
这比看起来更棘手。我可以使用动态 SQL 通过变量数据库名称来获取。我可以使用IF EXISTS(SELECT * FROM SYS.DATABASES WHERE NAME = PARAMETER1)
.
为了检查表是否存在,我需要USE
数据库,所以我需要使用动态 SQL。但是,这会给我留下一个可执行变量,我不知道如何检查该变量的结果(例如,我做不到IF EXISTS (EXEC @SQL)
)。我希望有某种方式可以说SELECT * FROM sys.AllDatabasesAllTables WHERE DatabaseName = Parm1 AND TableName = Parm2
。
我意识到这sys.AllDatabasesAllTables
不存在,但我希望也许有人知道另一种方式......有没有一种好方法可以在master
存储所有数据库及其表名的数据库中创建视图?
oracle - 在 Oracle 中等效于 Ms Sql sys 表
我在 oracle 中找不到所有等效的表。如;
是否有任何列表可以找出这些表名?我们在 mssql 中有几个查询,需要将它们转换为 oracle。