求需求分析思路过程

写一个存储过程! 求思路! - Sql Server当前位置:& &&&写一个存储过程! 求思路!写一个存储过程! 求思路!&&网友分享于:&&浏览:3次写一个储存过程!! 求思路!!!现有两张表, Book(ID, Book_name), Keyword(Book_name,keyword,weight)要求写一个存储过程向两张表输入数据,数据格式为(Book_name, 'K1,W1,K2,W2...Kn,Wn') ,如果Book表中不存在Book_name,那么要先往Book表中加入该Book_name,然后再把数据加入Keyword表。Kn=Keyword,Wn=weight我写了以下代码,但是不符合要求,哪位大哥帮帮改改啊,主要是输入的数据,应该怎么样分拆?CREATE PROCEDURE insert_procedure@T_name VARCHAR(35),@Kword VARCHAR(15),@Weight NUMERIC(2,1)ASBEGINIF NOT EXISTS (SELECT * FROM Topic WHERE Topic_name =@T_name )BEGINDECLARE @n INT, @T_ID INT& SELECT @n=COUNT(Topic_ID) FROM Topic& SET @T_ID =@n +1INSERT INTO Topic VALUES (@T_ID ,@T_name )INSERT INTO Keyword VALUES (@T_name ,@Kword ,@Weight )ENDELSEINSERT INTO Keyword VALUES (@T_name ,@Kword ,@Weight )END------解决方案--------------------
FUNCTION [dbo].[StringSplit]
@String VARCHAR(MAX) ,
@Spliter VARCHAR(5)
RETURNS @Tb TABLE
Keyword VARCHAR(45) ,
Weight VARCHAR(MAX)--NUMERIC(2, 1)
DECLARE @Index INT ,
@One VARCHAR(45) ,
@Two VARCHAR(max)--NUMERIC(2, 1)
SET @Index = CHARINDEX(@Spliter, @String)
WHILE ( @Index & 0 )
SET @One = LEFT(@String, @Index-1 )
SET @String = RIGHT(@String, LEN(@String) - @Index)
SET @Index = CHARINDEX(@Spliter, @String)
SET @Two = CAST(LEFT(@String, @Index-1 ) AS varchar(max))
( Keyword, Weight )
( @One, @Two )
SET @String = RIGHT(@String, LEN(@String) - @Index)
SET @Index = CHARINDEX(@Spliter, @String)
12345678910
12345678910
12345678910 上一篇:下一篇:文章评论相关解决方案 12345678910 Copyright & &&版权所有扫二维码下载作业帮
拍照搜题,秒出答案,一键查看所有搜题记录
下载作业帮安装包
扫二维码下载作业帮
拍照搜题,秒出答案,一键查看所有搜题记录
高中函数求过程 求思路 急急急&
凌风幻盎73
扫二维码下载作业帮
拍照搜题,秒出答案,一键查看所有搜题记录
为您推荐:
扫描下载二维码匿名用户不能发表回复!|
每天回帖即可获得10分可用分!小技巧:
你还可以输入10000个字符
(Ctrl+Enter)
请遵守CSDN,不得违反国家法律法规。
转载文章请注明出自“CSDN(www.csdn.net)”。如是商业用途请联系原作者。

我要回帖

更多关于 拓宽思路 谋求发展 的文章

 

随机推荐