当前位置: 首页 > 面试题库 >

使用TSQL确定表的主键

程项禹
2023-03-14
问题内容

我想使用TSQL确定表的主键(存储过程或系统表都可以)。SQL Server(2005或2008)中是否存在这种机制?


问题答案:

这应该使您开始:

SELECT 
    *
FROM 
    INFORMATION_SCHEMA.TABLE_CONSTRAINTS tc
    JOIN 
    INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE ccu 
        ON tc.CONSTRAINT_NAME = ccu.Constraint_name
WHERE 
    tc.TABLE_NAME = 'TableName' AND 
    tc.CONSTRAINT_TYPE = 'Primary Key'


 类似资料:
  • 问题内容: 我正在用PHP生成这样的SQL查询: 由于此查询的几乎每个部分都是动态的,因此我需要一种动态确定表的主键的方法,这样我就可以进行如下查询: 表的主键是否有MySQL关键字,或者有获取该关键字的方法? 我以前使用过information_schema数据库来查找这样的信息,但是如果我不必求助于此,那将是很好的。 问题答案: 您想要其中Key_name = PRIMARY的行 http:/

  • 问题内容: 我希望能够以某种方式在SQL Server 2005中执行的操作是以表名作为输入来确定组成主键的所有字段。似乎没有这个领域。关于在哪里看有什么想法? 问题答案: 我在编写的代码生成器中使用它来获取主键:

  • 我试图增加我的MySQL数据库模式的约束,为每个表添加外键约束。 表1:用户 INT(11)UNSIGNED NOT NULL AUTO_INCREMENT username`VARCHAR(50)不为空 主键() 表2:磁盘(这与用户有一对多的关系) INT(11)UNSIGNED NOT NULL AUTO_INCREMENT INT(11)不为空, 主键(,)索引(ASC) 约束 外键()

  • 问题内容: 我已经使用下面给出的建议更新了代码,该建议已经过测试并且效果很好,可以为将来的用户提供快速参考。 我使用下面的代码来创建链接表,而不必为每个用户设置DSN,我如何指定主键,因为系统会询问您是否手动连接: 注意:上面是针对SQL Server VIEW的,对于SQL Server TABLE而言是相同的,但是您不需要该行(如果在服务器上正确设置了主键)。 该代码代替了链接表并手动指定主键

  • jOOQ具有文档中所述的CREATE TABLE语法: 我想知道如何定义哪个列属于主键?那么,在jOOQ中有没有办法用主键信息创建create TABLE语句呢? 我对SQLite的解决方案特别感兴趣,它没有语法来添加主键,所以我认为在最坏的情况下,我必须去一个特定于数据库的解决方案?

  • 问题内容: 我有一个临时表,该表使用批量插入来插入数据。但是,当我想将数据从临时表更新到普通表时,它会产生排序规则问题。我知道如何使用类似的方法来解决此问题: 但是,有没有一种方法可以立即在临时表中设置排序规则,因此您不必在联接中使用排序规则?就像是: 这是正确的编码吗,您是否必须对每个表或每个列设置一次排序规则?而且,如果在表中设置了排序规则,那么您可以从联接中排除该排序规则吗? 问题答案: 您