求一SQL语句(SQL中的表锁定与释放的命令是什么啊?)

job_2006 2006-08-09 10:07:13
主表中添加一条数据,子表中可能添加一条或N条数据,现在想用一个存储过程实现,请问如何做啊??
如:主表:
ID(主键,不自增),name , no
1 aa,bb,cc,dd 11,22,33,44
2 aa 11

子表:
IDD(自增) ID(主表的主键) name, no
1 1 aa 11
2 1 bb 22
3 1 cc 33
4 1 dd 44
5 2 aa 11

数据库里的数据是像上面这样存在的,请问SQL怎么写,谢谢

AS
DECLARE @MaxID int
BEGIN
SET @MaxID=(SELECT ISNULL(MAX(ID),0)+1 FROM 主表)
INSERT INTO 主表(ID,name,no) values(@MaxID,外面的参数,外面的参数)

下面的子表中的数据怎么添加呢??谢谢各位老大帮忙了,sql里怎么分隔字符串呢???


...全文
400 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
job_2006 2006-08-09
  • 打赏
  • 举报
回复
自己已经解决了,特别感谢nekiy(我只是个做美工的!)
nekiy 2006-08-09
  • 打赏
  • 举报
回复
你那个aa,bb,cc,dd 还要提取呢
送给你一个函数吧
create function f_split(@str varchar(8000),@StrSeprate varchar(10))
returns @temp table(a varchar(100))
as
begin
declare @i int
set @str=rtrim(ltrim(@SourceSql))
set @i=charindex(@StrSeprate,@str)
while @i>=1
begin
insert @temp values(left(@str,@i-1))
set @str=substring(@str,@i+1,len(@str)-@i) --当然,这里您也可以改写为STUFF,可以自己试着改写一下
set @i=charindex(@StrSeprate,@str)
end
if @SourceSql<>'\'
insert @temp values(@str)
return
end


--用法:select * from dbo.f_split('A:B:C:D:E',':')
nekiy 2006-08-09
  • 打赏
  • 举报
回复
用触发器试试
gt5070073 2006-08-09
  • 打赏
  • 举报
回复
用LEFT吧,在加一个FOR可以解决吧
job_2006 2006-08-09
  • 打赏
  • 举报
回复
顶顶顶
job_2006 2006-08-09
  • 打赏
  • 举报
回复
顶,沉得好快

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧