当前位置:主页>仓库管理软件> 列表

菜鸟学习写sqlserver的存储过程,很简单的,哪位高手 找库房管理软件免费版

销售管理软件版1楼: 下面是我写的存储过程,有两个参数@user和@nl,但插入到练习表的时候还要从另一个表取得公司名字段的值,我这么写怎么不对啊???
CREATE procedure 内部变量测试
@user varchar(50),@nl varchar(50),
As
declare @cn varchar(50) -- 主语句
set @cn = ''select 公司名 from 公司表 where 姓名=@user''
Insert 练习表(姓名,年龄,公司名) Values(@user,@nl,@cn)
GO

2楼: 应是这样的
CREATE procedure 过程名称
@user varchar(50),
@nl varchar(50),
As
declare @cn varchar(50) -- 主语句
select @cn=公司名 from 公司表 where 姓名=@user
Insert 练习表(姓名,年龄,公司名) Values(@user,@nl,@cn) 如库房管理软件免费版

3楼: As前面一句最后多了一个逗号

set @cn = (select 公司名 from 公司表 where 姓名=@user)
如果用引号的话@cn就变成了这串字符串,当然会错

4楼: 这样只会返回一条记录如果要插入多条记录就得要游标了

5楼: 已經修改裡的代碼,請你測試一下是否正確:



CREATE procedure 内部变量测试
@user varchar(50),@nl varchar(50) As
declare @cn varchar(50) -- 主语句
set @cn = (select 公司名 from 公司表 where 姓名=''''+@user+'''')
Insert 练习表(姓名,年龄,公司名) Values(''''+@user+'''',''''+@nl+'''',''''+@cn+'''')
GO

6楼: 168hutao是对的。