Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 139487
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 11, 20262026-05-11T07:26:37+00:00 2026-05-11T07:26:37+00:00

I am adding Tagging functionality in my web app. My applications table structures are

  • 0

I am adding ‘Tagging’ functionality in my web app. My applications table structures are as following;

Tag:

(TagId INT IDENTITY, TagName VARCHAR(60)) 

TaggedRecords:

(TaggedId INT IDENTITY, TagId, TaggedRecordId) 

Now, I want when anyone adds a tag to any record then following action should be performed using a single sql query or using a stored procedure;

  • The tag is already present in ‘Tag’ table or not?
  • If the tag is present then it inserts a row in ‘TaggedRecords’ table
  • Else if the tag is not present then first insert the tag in ‘Tag’ table and then get the Id of newly added tag and insert a record in ‘TaggedRecord’ table

Basically, I am more interested in doing these actions using a single query or at max two sql queries. I don’t wanna make multiple If-Else conditions in sql stored procedure.

Thanks,

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. 2026-05-11T07:26:38+00:00Added an answer on May 11, 2026 at 7:26 am

    How about this…

    CREATE PROC TagMe(@TagName VARCHAR(100),@TaggedRecordId INT) AS  DECLARE @TagId INT  SET @TagId = SELECT TagId FROM Tag WHERE TagName = @TagName  IF @TagId IS NOT NULL     BEGIN     --Tag exists         INSERT INTO TaggedRecords (TagId, TaggedRecordId) VALUES(@TagId,@TaggedRecordId)     RETURN     END ELSE     -- New tag     BEGIN         INSERT INTO Tag (TagName) OUTPUT inserted.id INTO @TagId VALUES(@TagName)         INSERT INTO TaggedRecords (TagId, TaggedRecordId) VALUES(@TagId,@TaggedRecordId)     RETURN END 

    Not tested this but the theory should be sound 🙂

    For another example of the OUTPUT usage see my post at this link

    EDIT

    As per comments below this version uses EXISTS…

    CREATE PROC TagMe(@TagName VARCHAR(100),@TaggedRecordId INT) AS  DECLARE @TagId INT    IF EXISTS(SELECT TagId FROM Tag WHERE TagName = @TagName)     BEGIN     --Tag exists         SET @TagId = SELECT TagId FROM Tag WHERE TagName = @TagName           INSERT INTO TaggedRecords (TagId, TaggedRecordId) VALUES(@TagId,@TaggedRecordId)     RETURN     END ELSE     -- New tag     BEGIN         INSERT INTO Tag (TagName) OUTPUT inserted.id INTO @TagId VALUES(@TagName)         INSERT INTO TaggedRecords (TagId, TaggedRecordId) VALUES(@TagId,@TaggedRecordId)     RETURN END 

    Although I’m not sure (I reliase I’m arguing against myself here but so much of this stuff is an "it depends" answer!). This example actually would work best for more usage of new tags because it would only perform the EXISTS once and then continue whereas for an existing tag it would perform an EXISTS and then a SELECT.

    Hmm, take your pick – or test both approaches under volume 🙂

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Ask A Question

Stats

  • Questions 181k
  • Answers 181k
  • Best Answers 0
  • User 1
  • Popular
  • Answers
  • Editorial Team

    How to approach applying for a job at a company ...

    • 7 Answers
  • Editorial Team

    What is a programmer’s life like?

    • 5 Answers
  • Editorial Team

    How to handle personal stress caused by utterly incompetent and ...

    • 5 Answers
  • Editorial Team
    Editorial Team added an answer You can't pass the model object. This argument expects the… May 12, 2026 at 4:15 pm
  • Editorial Team
    Editorial Team added an answer Yes, Smack is a XMPP API May 12, 2026 at 4:15 pm
  • Editorial Team
    Editorial Team added an answer If your Word document is already configured with the merge… May 12, 2026 at 4:15 pm

Related Questions

I'm working on a simple image tagging and searching app. I've got my images
I've heard of a few ways to implement tagging; using a mapping table between
I am adding some user controls dynamically to a PlaceHolder server control. My user
I am adding a webpart to the webpart gallery as part of a feature

Trending Tags

analytics british company computer developers django employee employer english facebook french google interview javascript language life php programmer programs salary

Top Members

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.