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 63k
  • Answers 63k
  • Best Answers 0
  • User 1
  • Popular
  • Answers
  • Editorial Team

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

    • 7 Answers
  • Editorial Team

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

    • 5 Answers
  • Editorial Team

    What is a programmer’s life like?

    • 5 Answers
  • added an answer You have probably used the Web site model for your… May 11, 2026 at 10:31 am
  • added an answer If you're able to add PECL packages into your PHP,… May 11, 2026 at 10:31 am
  • added an answer I have found the solution SELECT planid, serialnumber, partnb, DFI,… May 11, 2026 at 10:31 am

Related Questions

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
I am adding a service reference to one of my projects in Visual Studio
I am adding custom controls to a FlowLayoutPanel. Each control has a date property.
I am adding series and panes to a Developer's Express Chart Control in code
I am adding membership-related schemas to an existing database (lets call it myDatabase) following
I am adding a custom background for my UINavigationBar. It works fine as long
I am adding a custom background image to my navigation bar by creating an
I am adding items to a ListBox like so: myListBox.Items.addRange(myObjectArray); and I also want
I am creating a user control in C# and I am adding my own

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.