与SQL Server 2000类似但不具有相同性- 查询表的外键关系
我需要一个T-SQL语句,它将使用给定表名的SQL 2000,将返回该表的外键关系,例如
表MyFristTable具有MySecondTable的外键,其中MyFirstTable.ColA必须位于MySecondTable.ColB中.如果为MyFirstTable运行sql语句(或存储过程)并返回结果集,我会很高兴
Column | FK_Table | FK_COLUMN
----------------------------------
ColA | MySecondTable | ColB
Run Code Online (Sandbox Code Playgroud)
注意:我有SQL 2005的样本,因为它们依赖于sys.foreign_key_columns而无法工作
我宁愿不必解析sp_help语句的结果.
谢谢,
我有一个Lead和一个名为Social Account的自定义对象(API Name = Social_Account__c).
我建立了如下关系:Lead是社交账户的父母.所以领导有很多社交账户.
在社交帐户中,我创建了一个名为Lead(数据类型:查找)的自定义字段来建立关系.
这是一个查找细节:
API名称:Lead__c
与铅有关
子关系名称:Social_Accounts
相关清单标签:社会账户
如果有一个具有相同电子邮件地址的潜在客户,我想向现有潜在客户添加新的社交帐户.
Social_Account__c social_account = new Social_Account__c();
/*add whatever fields on social_account*/
List<Lead> leads =[select Id from Lead where Email =:emailAddress ];
if(leads.size()>0)
{
Lead existing_lead = new Lead(Id = leads[0].id);
//ideally i would like to do something like this
social_account.Lead__c.id = existing_lead.id; //this is where I get an error from
insert social_account;
update existing_lead;
}
Run Code Online (Sandbox Code Playgroud)
但我收到以下错误消息:
错误:编译错误:外键关系无效:Social_Account_ c.Lead _c
我究竟做错了什么?我将不胜感激任何建议.
谢谢
我打算创建一个团队系统,每个团队可能包含多个参赛者.参赛者实际上是auth.User.类似的东西:
Team:
Contestant1
Contestant2
.
.
ContestantN
Run Code Online (Sandbox Code Playgroud)
由于参赛者实际上是一个我无法修改的用户,因此可以让团队成为外国人.实现这一目标的最佳方法是什么?
我的方式是:
OneToOne为用户创建指向团队的配置文件.ManyToMany用户必须是唯一的用户和团队之间的关系.我正在重新设计我的应用程序的结构,所以我将再次重新解释这个问题
感谢您的回复,我会考虑它们,看看它们中的一个是否合适.
自从我开始深入挖掘形式,联想,哈希,符号以来已经差不多一个星期......但似乎没有你的帮助我无法解决这个难题.
我正在开展一个展示不同画廊内容的项目.基本思想是当用户看到画廊的名称(名称是链接)时能够点击所选择的名称.然后显示属于此库的所有图像.在底部应该有一个链接"在此库中添加图像".
我的模特:
class Gallery < ActiveRecord::Base
attr_accessible :name
has_many :pictures
end
class Picture < ActiveRecord::Base
attr_accessible :image
belongs_to :gallery
end
Run Code Online (Sandbox Code Playgroud)
我在gallery_id上为'pictures'表创建了索引.
我的大问题出现在这里,如何将gallery_id传递给控制器的动作'new'.正如我在"使用Rails进行敏捷Web开发"中看到的那样,它可能是:
<%= link_to'在这里添加图片...',new_picture_path(:gallery_id => @ gallery.id)%>
在这种情况下似乎是foreign_key:gallery_id在浏览器的URL栏中公开.第二个问题是:gallery_id可用于控制器的"新"功能,但"创建"功能"消失"(导致错误"无法找到没有ID的图库").当我在_form中为图片添加隐藏字段时,问题就消失了,在我的情况下:
<%= form_for(@picture) do |f| %>
<div class="field">
<%= f.hidden_field :gallery_id , :value=>params[:gallery_id] %>
<%= f.label :image %><br />
<%= f.file_field :image %>
</div>
<div class="actions">
<%= f.submit "Create" %>
</div>
<% end %>
Run Code Online (Sandbox Code Playgroud)
以下是我在'pictures'控制器中的定义:
def new
@gallery=Gallery.find(params[:gallery_id])
@picture=@gallery.pictures.build
end
def create
@gallery = Gallery.find(params[:gallery_id])
@picture = @gallery.pictures.new(params[:picture])
if @picture.save
redirect_to(@picture, :notice …Run Code Online (Sandbox Code Playgroud) 我有两个表:缺陷和缺陷数据.每个缺陷可能有也可能没有一个或多个缺陷数据.因此,DefectData将DefectId列作为外键.
两个表中的Id都是自动递增的标识.
我遇到的问题是,当我想插入一个新的缺陷及其缺陷数据时,首先插入缺陷并获取一个Id,但我不知道该ID是给DefectData的.我的解决方案是从匹配插入数据的缺陷中选择以获得Id.
设置IdentityInsert然后插入我自己的Id将无法工作,因为这是由网络服务器运行,可能有并发呼叫(我在这里吗?).

提前致谢.
sql insert foreign-key-relationship identity-column sql-server-2008
嗨,大家好,我只是在子表中创建父表的外键引用.当我尝试从父表中删除其子表中引用的行时,令人惊讶的是它允许我删除它.我试图通过写删除限制来创建子表,也没有它但没有帮助.任何想法为什么会这样?.Below是我在创建表时使用的代码.
CREATE TABLE region
(
id int PRIMARY KEY AUTO_INCREMENT,
name varchar(50) NOT NULL
);
CREATE TABLE aggregator
(
id int PRIMARY KEY AUTO_INCREMENT,
name varchar(50) NOT NULL
);
CREATE TABLE gateway
(
id int PRIMARY KEY AUTO_INCREMENT,
name varchar(50) NOT NULL,
region_id int ,
aggregator_id int ,
is_public boolean DEFAULT 0 NOT NULL,
FOREIGN KEY (region_id) REFERENCES region(id),
FOREIGN KEY (aggregator_id) REFERENCES aggregator(id)
);
Run Code Online (Sandbox Code Playgroud) 我在使用RestKit和CoreData时遇到了一些困难,特别是因为RestKit 0.20的示例和文档很少.
我有一个(托管)对象Song与多对一关系Album.以下代码可以发布JSON,但不能以服务器排除的展平格式发布.
// Defined elsewhere
Album *theAlbum;
RKObjectManager *objMan = [self objectManager];
// Response Mapping
RKObjectMapping *responseMapping = [RKObjectMapping mappingForClass:[Song class]];
[responseMapping addAttributeMappingsFromDictionary:@{ @"song": @"songID" }];
NSIndexSet *statusCodes = RKStatusCodeIndexSetForClass(RKStatusCodeClassSuccessful);
RKResponseDescriptor *responseDescriptor = [RKResponseDescriptor responseDescriptorWithMapping:responseMapping
pathPattern:@"/api/song"
keyPath:nil
statusCodes:statusCodes];
// Request Mapping
RKObjectMapping *requestMapping = [RKObjectMapping requestMapping];
RKEntityMapping *albumRelationshipMapping = [RKEntityMapping mappingForEntityForName:@"Album" inManagedObjectStore:[objMan managedObjectStore]];
[albumRelationshipMapping addAttributeMappingsFromDictionary:@{@"id": @"albumID", }];
[requestMapping addAttributeMappingsFromDictionary:@{ @"title": @"title", @"length": @"length" }];
[requestMapping addPropertyMapping:[RKRelationshipMapping relationshipMappingFromKeyPath:@"album"
toKeyPath:@"album"
withMapping:albumRelationshipMapping]];
requestMapping = [requestMapping inverseMapping]; …Run Code Online (Sandbox Code Playgroud) 我正在开发一个应用程序,允许用户自己创建和管理用户组.
问题是我想存储哪个用户向任何组添加了新成员.
这些是我目前的模特:
class UserManagedGroup(Group):
leader = models.ForeignKey(User, verbose_name=_('group leader'), related_name='leaded_groups')
members = models.ManyToManyField(User, verbose_name=_('members'), through='Membership',
related_name='managed_groups')
class Membership(models.Model):
user = models.ForeignKey(User, related_name='memberships')
group = models.ForeignKey(UserManagedGroup, related_name='memberships')
info = models.OneToOneField('MembershipInfo', verbose_name=_('membership information'))
class Meta:
unique_together = ['user', 'group']
class MembershipInfo(models.Model):
date_added = models.DateField(_('date added'), auto_now_add=True)
made_member_by = models.ForeignKey(User, verbose_name=_('user who made him a member'))
membership_justification = models.TextField(_('membership justification'), blank=True, default='')
@receiver(signals.post_delete, sender=Membership)
def delete_membership_info(sender, instance, *args, **kwargs):
if instance.info.pk:
instance.info.delete()
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,我有一个愚蠢的MembershipInfo模型,Membership由于其领域的性质,它更适合合并.此外,MembershipInfos生命受其约束Membership(这就是为什么我必须创建这个post_delete信号连接).
由于这个原因,我无法合并它们: …
我创建了以下示例来测试外键,到目前为止,它运行良好.我希望能够做的是使用我构建的这个框架来设置关系的属性,并在保存Parent时保存子对象并自动设置PrimaryKey和Foreign Key.DataManager类公开Connection
public class DataManager
{
DataManager()
{
OrmLiteConfig.DialectProvider = SqliteDialect.Provider;
ConnectionString = SqliteFileDb;
updateTables();
}
private void updateTables()
{
using (var dbConn = OpenDbConnection())
{
dbConn.DropAndCreateTable<Person>();
dbConn.DropAndCreateTable<PhoneNumber>();
}
}
public static string SqliteFileDb = "~/App_Data/db.sqlite".MapAbsolutePath();
private static DataManager manager;
public static DataManager Manager {
get
{
if (manager == null)
manager = new DataManager();
return manager;
}
}
public IDbConnection InMemoryDbConnection { get; set; }
public IDbConnection OpenDbConnection(string connString = null)
{
connString = ConnectionString;
return connString.OpenDbConnection();
}
protected …Run Code Online (Sandbox Code Playgroud) 我想在我的数据库中找到所有引用某个表的主键的外键.
例如,我A在表中有一列T是主键.现在我想找到A外键约束中引用哪些表列?
我考虑过的一个简单方法是检查数据库图表,但这只适用于数据库非常小的情况.对于拥有50个以上表的数据库来说,这不是一个很好的解决方案.
任何替代品?
sql sql-server foreign-keys primary-key foreign-key-relationship
django ×2
foreign-keys ×2
sql ×2
apex-code ×1
associations ×1
insert ×1
ios ×1
link-to ×1
mysql ×1
primary-key ×1
restkit ×1
restkit-0.20 ×1
salesforce ×1
servicestack ×1
sql-server ×1