1
私の手順は次のとおりです。分割およびSQL Serverで保存
CREATE PROCEDURE [dbo].[sp_SavePost]
@PostTitle NVARCHAR(max),
@PostDescription NVARCHAR(max),
@PostDate DATETIME,
@Author NVARCHAR(100),
@Tag NVARCHAR(250), --it bring c#,asp.net,mvc
@Category NVARCHAR(250)
AS
BEGIN
INSERT INTO [dbo].[ForumPost](PostTitle, PostDescription, PostDate,
Author, Tag, Category)
VALUES(@PostTitle, @PostDescription, @PostDate,
@Author, @Tag, @Category)
END
表[dbo].[ForumPost]
は自動インクリメントであるpostid
を持っています。 Tag
という別のテーブルがあります。同じ手順で、カラムpostid
とtag
を持つテーブルTag
に値を挿入したいと思います。しかし、tag
テーブルに値を挿入できません。意味はpostid=2
私はこのような結果が欲しい。
表タグ
postid | tag
------------
2 | c#
2 | asp.net
2 | mvc
感謝。サイドノートとして
CREATE PROCEDURE [dbo].[sp_SavePost]
.....
AS
BEGIN
INSERT INTO [dbo].[ForumPost](PostTitle, PostDescription, PostDate,
Author, Tag, Category)
VALUES(@PostTitle, @PostDescription, @PostDate,
@Author, @Tag, @Category)
-- declare variable to hold newly inserted IDENTITY value
DECLARE @NewPostID INT
-- fetch the newly inserted IDENTITY value
SELECT @NewPostID = SCOPE_IDENTITY()
-- use that value in the next INSERT into the "Tag" table
INSERT INTO dbo.Tag(PostId, ......)
VALUES(@NewPostID, .......)
END
:
おかげで() 'SCOPE_IDENTITY'を通じてポストIDを取得なし接頭辞を使用するが、私は、データ 'C#の、ASPを分割することができますどのように - 私は
sp_
接頭辞を避けるだろう。 net、mvc'を実行し、 'Tag'テーブルに挿入します。 –@ShreeKhanal:これには数多くの投稿があります。GoogleまたはBingだけです。またはいくつかの便利なリンクと[この他の質問は](http://stackoverflow.com/questions/2647/split-string-in-sql)を参照してください.... –