如何取得记录的主键值并输出?

angleoldhen 2008-04-05 09:10:32
company表:companyid,company,address
companyman表:username,companyid,phone,email

应用环境:在做某个通讯录的用户信息编辑时,需要判断修改后公司名称是否已经存在,如果存在则从company表里取到companyid值以便更新到companyman表里,否则添加新的记录到company表里并返回最新的companyid值。后一步我已经可以实现,但是前一步要如何返回单一值呢?
ALTER PROCEDURE dbo.SelectCompanyID
@company nvarchar(100),
@companyid int output
AS
if EXISTS(select companyid from tcompany where company = @company)
begin
//这里要如何写才能取到companyid并传给@companyid输出呢?
end
else
begin
insert tcompany(company) values(@company)
set @companyid = SCOPE_IDENTITY()
end
RETURN
...全文
73 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
pt1314917 2008-04-05
  • 打赏
  • 举报
回复
那下次就不点破了。。。。
angleoldhen 2008-04-05
  • 打赏
  • 举报
回复
就这么简单啊,晕啊,点破真的就不值钱了
pt1314917 2008-04-05
  • 打赏
  • 举报
回复

ALTER PROCEDURE dbo.SelectCompanyID
@company nvarchar(100),
@companyid int output
AS
if EXISTS(select companyid from tcompany where company = @company)
begin
select @companyid=companyid from tcompany where company = @company
end
else
begin
insert tcompany(company) values(@company)
set @companyid = @@IDENTITY
end
RETURN @companyid

34,575

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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