正在尝试设置一个Sybase查询,该查询将为我提供以下输出:
Table KeyType KeyNumber Column
table1 PK 1 table1_id
table1 FK 2 table2_id
table1 FK 3 table3_id
table1 FK 4 table4_id
table1 Unique 5 table1_abc
table1 Unique 5 table1_def
换句话说,我需要每个表的PK,它具有的每个外键以及每个唯一键(不是一个键具有多个元素(例如上面的唯一键)的地方,是通过具有相同的PK来标识的。键号)。
我猜我需要使用sysobject,syscolumns,syskeys和sysconstraints,但我似乎无法弄清楚它们如何相互链接。
这是一个开始:
SELECT
t.name,
CASE k.type
WHEN 1 THEN 'PK'
WHEN 2 THEN 'FK'
WHEN 3 THEN 'Common'
END,
c.name
FROM
sysobjects t INNER JOIN
syscolumns c ON c.id = t.id INNER JOIN
syskeys k ON k.id = t.id AND c.colid IN (k.key1, k.key2, k.key3, k.key4, k.key5, k.key6, k.key7, k.key8)
WHERE
t.type = 'U' AND k.type in (1,2)
它不包含键ID,因为我想您可能会以某种方式对非空表ID和keyN列进行哈希处理以产生键的唯一ID。
它还不包括唯一索引。为此,您需要采取UNION以下措施:
SELECT
t.name,
'Unique',
c.name
FROM
sysobjects t INNER JOIN
syscolumns c ON c.id = t.id INNER JOIN
sysindexes i ON i.id = t.id
WHERE t.type = 'U'
报告字段是元素,表示数据源和报告模板之间的数据映射。 可以在报表表达式中组合字段以获取所需的输出。 报告模板可以包含零个或多个元素。 声明报告字段时,数据源应提供与报告模板中定义的所有字段对应的数据。 实地宣言 现场声明如下所示 - <field name = "FieldName" class = "java.lang.String"/> 名称属性 “field”元素的name属性是必需的。
什么是 Key Key 是一种允许对 DOM 元素进行重新排序的机制,把列表中的指定数据项映射到各自对应的 DOM 元素, 换句话说,key 表示 “这个 DOM 元素属于这个数据对象的这个ID”。 通常,key 属性应该数组中的唯一标识字段,即该字段的值不应产生重复。 var users = [ {id: 1, name: "John"}, {id: 2, name: "Mary
描述 (Description) 此函数将HASH的所有键作为列表返回。 密钥以随机顺序返回,但实际上,它们与值和每个密钥使用的顺序相同。 语法 (Syntax) 以下是此函数的简单语法 - keys HASH 返回值 (Return Value) 此函数返回标量上下文中的哈希中的键数和列表上下文中的键列表。 例子 (Example) 以下是显示其基本用法的示例代码 - #!/usr/bin/p
KEYS pattern 查找所有符合给定模式 pattern 的 key 。KEYS * 匹配数据库中所有 key 。 KEYS h?llo 匹配 hello , hallo 和 hxllo 等。 KEYS h*llo 匹配 hllo 和 heeeeello 等。 KEYS h[ae]llo 匹配 hello 和 hallo ,但不匹配 hillo 。 特殊符号用 \ 隔开 警告 KEYS 的速
返回地图中的键列表。 语法 (Syntax) 以下是语法。 (keys hmap) Parameters - 'hmap'是散列键和值的映射。 Return Value - 返回地图中的键列表。 例子 (Example) 以下是Clojure中键的示例。 (ns clojure.examples.example (:gen-class)) (defn example [] (def
返回表示键的可迭代对象。 语法 (Syntax) Map.keys 例子 (Example) void main() { var details = {'Usrname':'tom','Password':'pass@123'}; print(details.keys); } 它将产生以下output - (Usrname, Password)