传递一个SQL语句给存储过程的问题

snfdf 2004-08-26 01:24:29
我想给存储过程传一条SQL语句让他执行,是个插入记录的语句,不清楚应该怎么写,请教各位高手.
这条插入的SQL语句中的值均为变量.请举例,谢谢.
...全文
126 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
snfdf 2004-08-27
  • 打赏
  • 举报
回复
噢,明白了,谢谢.
zjcxc 元老 2004-08-26
  • 打赏
  • 举报
回复
你的语句是动态的,这个编译对于你的处理来说,没有什么意义.
snfdf 2004-08-26
  • 打赏
  • 举报
回复
这个用存储过程确实没有什么意义,但是存储过程不是说只编译一次吗?我还用它就是因为这个,不知道理解的正不正确,如果对于这个情况来说用存储过程和在程序中使用是一样的话那我就不用存储过程了.
zjcxc 元老 2004-08-26
  • 打赏
  • 举报
回复
那样的话用存储过程已经没有意义了

因为你已经生成能直接运行的sql语句,那就直接在程序中,用execute方法执行就行了.
snfdf 2004-08-26
  • 打赏
  • 举报
回复
因为存储过程的参数是固定的,所以我不能在存储过程中写SQL写句,所以我在程序中先写好SQL语句,然后把这个SQL语句传给存储过程,不知道可不可以?
zjcxc 元老 2004-08-26
  • 打赏
  • 举报
回复
这三个字段的值就是这三个变量,如果取得五个变量那就插入一条记录


因为存储过程的参数是固定的,即设计好的存储过程,那么存储过程的参数也就固定了是多少个,所以楼主要先考虑参数如何传递的问题,只要定义好了这个规则,剩下的事情就好办了.
snfdf 2004-08-26
  • 打赏
  • 举报
回复
各位动作好快.
我是因为这个SQL语句不是固定的,所以要传一条SQL语句到存储过程,比如我取得三个变量那我就在数据库中插入一条记录,这三个字段的值就是这三个变量,如果取得五个变量那就插入一条记录,这五个字段的值为这五个变量.
存储过程这里我会写,我主要是传的这条SQL语句不会写
dim sql="insert into [user](字段,字段,字段,字段) values ('"& 变量 &"','"& 变量 &"')"
提示我"输入字符串的格式不正确。"
子陌红尘 2004-08-26
  • 打赏
  • 举报
回复
create proc proc_Insert
@strSQL varchar(200)
as
exec(@strSQL)
go
fog 2004-08-26
  • 打赏
  • 举报
回复
是要写一个存储过程吗
jones129 2004-08-26
  • 打赏
  • 举报
回复
Create Proc Proc1(@SQLStr Varchar(500))
As
Set NoCount On
Exec(@SQLStr)
Set NoCount Off
子陌红尘 2004-08-26
  • 打赏
  • 举报
回复
把整个SQL语句作为变量,并于存储过程中用exec()执行该变量
LoveSQL 2004-08-26
  • 打赏
  • 举报
回复
其实你应该只传递要插入的变量就够了
create proc Insert_test
@field1 varchar(10),
@field2 varchar(20)
as
insert into test(field1,field2) values(@field1,@field2)

go

这样就行了
zjcxc 元老 2004-08-26
  • 打赏
  • 举报
回复
不明白楼主的意思.

34,838

社区成员

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

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