【发布时间】:2009-02-17 17:13:12
【问题描述】:
我正在我的网络应用程序中添加“标记”功能。我的应用程序表结构如下;
Tag:
(TagId INT IDENTITY, TagName VARCHAR(60))
TaggedRecords:
(TaggedId INT IDENTITY, TagId, TaggedRecordId)
现在,我希望当任何人向任何记录添加标签时,应使用单个 sql 查询或使用存储过程执行以下操作;
- 标签是否已经存在于“标签”表中?
- 如果标签存在,那么它会在“TaggedRecords”表中插入一行
- 如果标签不存在,则先在“Tag”表中插入标签,然后获取新添加的标签的ID,并在“TaggedRecord”表中插入一条记录
基本上,我对使用单个查询或最多两个 sql 查询来执行这些操作更感兴趣。我不想在 sql 存储过程中创建多个 If-Else 条件。
谢谢,
【问题讨论】:
标签: sql sql-server-2005 tsql stored-procedures