存储过程

shixitong 2008-10-29 09:05:20
create procedure insert_user
@a varchar(20),
@b varchar(20),
@c varchar(20)
as
insert into users(userID,userName,password)
values(@a,@b,@c)

execute insert_user @a='075305237',@b='shixitong',@c='100000'
go

为什么编译时会出错?
说什么字符串或者二进制被截断!
...全文
50 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ChinaJiaBing 2008-10-29
  • 打赏
  • 举报
回复

与表结构类型不一样....
水族杰纶 2008-10-29
  • 打赏
  • 举报
回复
字段的长度设置的太小
linguojin11 2008-10-29
  • 打赏
  • 举报
回复
use test
go
if object_id('users') is not null
drop table users
if object_id('insert_user') is not null
drop proc insert_user
go
create table users(userID varchar(20),userName varchar(20),password varchar(20))
go
create procedure insert_user
@a varchar(20),
@b varchar(20),
@c varchar(20)
as
begin

insert into users(userID,userName,password)
values(@a,@b,@c)
end
go

execute insert_user @a='075305237',@b='shixitong',@c='100000'
go
select *
from users
  • 打赏
  • 举报
回复
create table users
(userID varchar(20),userName varchar(20),password varchar(20)
)
看看你表的结构
dawugui 2008-10-29
  • 打赏
  • 举报
回复
[Quote=引用楼主 shixitong 的帖子:]
SQL codecreate procedure insert_user
@a varchar(20),
@b varchar(20),
@c varchar(20)
as
insert into users(userID,userName,password)
values(@a,@b,@c)

execute insert_user @a='075305237',@b='shixitong',@c='100000'
go


为什么编译时会出错?
说什么字符串或者二进制被截断!
[/Quote]
userID,userName,password中有个字段长度过小,小于你给出的参数中的值.
  • 打赏
  • 举报
回复
你表中有个字段的长度设置的太小

34,838

社区成员

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

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