insert语句中的存储过程

时间:2009-07-24 07:04:27

标签: sql-server-2005 stored-procedures

我正在尝试为我的sql server数据库生成随机数据。我已经创建了一个存储过程,它需要生成字符串的长度,但问题是它不允许我在insert语句中调用它。

insert into table1 (varchar_data,int_data) value ((sp_GenerateRandomString 4),CAST(RAND() * 10 AS INT) % 6 + 1 )

这也不起作用

insert into table1  (varchar_data,int_data) select ((sp_GenerateRandomString 4),CAST(RAND() * 10 AS INT) % 6 + 1 )

2 个答案:

答案 0 :(得分:3)

您应该使用用户定义的函数而不是存储过程。存储过程不能在表达式中使用,但函数可以。

可在此处找到一个很好的介绍:http://www.sqlteam.com/article/user-defined-functions

答案 1 :(得分:0)

INSERT INTO ... EXEC sp_procedure
相关问题