【发布时间】:2014-04-29 20:45:30
【问题描述】:
我创建了一个表,其中Id 列为varchar(20)。
我需要一个可以将id 加 1 的存储过程。
我试过这个:
ALTER PROCEDURE dbo.spInsertCatQuery
(@Users_Id varchar(20),
@Cat_Id varchar(20),
@Query varchar(100),
@Query_Title varchar(50)
)
AS
BEGIN
Declare @Query_Id bigint
SELECT @Query_Id = coalesce((select max(Query_Id) + 1 from tblCatQuery), 1);
INSERT INTO tblCatQuery
VALUES(@Query_Id, @Users_Id, @Cat_Id, @Query_Title, @Query)
END
但是在第 10 条记录之后它就不起作用了。
【问题讨论】:
-
not working after 10th record... 需要进一步澄清。 -
因此您希望 varchar 表现得像一个数字,但您对它不符合规定感到失望。好吧,用一个数字
-
BAD...Users_Id varchar(20), Cat_Id varchar(20),
-
我的第二个猜测:
query_id被声明为varchar或char没有长度。默认值为 1。
标签: asp.net sql stored-procedures database-design type-conversion