动态 将参数传入 这样能做到吗?

振乾 2010-09-03 11:08:06

IF(OBJECT_ID('Student') IS NOT NULL)
DROP TABLE Student
CREATE TABLE Student
(
ID INT IDENTITY(1,1) PRIMARY KEY,
Name VARCHAR(10)
)
--简单插入
INSERT Student
SELECT '张三' UNION
SELECT '李四' UNION
SELECT '王五'

--根据 字符串 进行判断插入(字符串 和 声明的变量 是对应的 如 zaoliu--@zaoliu )
DECLARE @Str VARCHAR(60),@zaoliu VARCHAR(10),@tianqi VARCHAR(10),@heba VARCHAR(10),@Value VARCHAR(60),@Sql varchar(100)
SELECT @Str='zaoliu',@zaoliu='赵六',@tianqi='田七',@heba='何八'
SELECT @Value=
CASE @Str
WHEN 'zaoliu' THEN @zaoliu
WHEN 'tianqi' THEN @tianqi
WHEN 'heba' THEN @heba
ELSE '' End
INSERT Student VALUES (@Value)
SELECT * FROM Student s

--不需判断字符串 直接插入
-- 如果 str='zaoliu' 直接 INSERT Student VALUES(@zaoliu)
我想通过 字符串拼接 将 @zaoliu 动态传入
以下是假设的效果
INSERT studnt VALUES(@+@Str)


请各位高手赐教。
...全文
100 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
振乾 2010-09-03
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 shbz1986 的回复:]
这2种效果是哪个?
insert into studnt values (1,'zaoliu赵六田七何八')
还是
insert into studnt values (1,'zaoliu')
insert into studnt values (2,'赵六')
insert into studnt values (3,'田七')
insert into studnt values (……
[/Quote]

都不是,
@str 是变化的,
所以 我 不想通过判断 然后赋值。
我直接想通过
INSERT studnt VALUES(@+'zaoliu')
使用类似字符串拼接的方法 ,是 插入的变量 是可变的 ,动态的(由@str来决定)



王向飞 2010-09-03
  • 打赏
  • 举报
回复
多试几次就出来了
shbz1986 2010-09-03
  • 打赏
  • 举报
回复
这2种效果是哪个?
insert into studnt values (1,'zaoliu赵六田七何八')
还是
insert into studnt values (1,'zaoliu')
insert into studnt values (2,'赵六')
insert into studnt values (3,'田七')
insert into studnt values (4,'何八')
????
wang06905411 2010-09-03
  • 打赏
  • 举报
回复
帮你顶吧,我也是菜鸟一个
siegebaoniu 2010-09-03
  • 打赏
  • 举报
回复
不懂,帮顶。不过“赵”念“zhao”...

34,593

社区成员

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

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