如何Select into 进一个动态表名

如何Select into 进一个动态表名,第1张

//定义查询出来的字段名@f_name

declare @f_name varchar(50)

//给@f_name赋值

select @f_name=f_name from table_name

//执行拼接的sql语句

exec (N'select '+@f_name + N' from table_name')

//这3步必须一起执行

//在2008r2版本测试通过

//请采纳

update 表2

set 字段2=(select 字段1 from 表1 where .....)

where (.....)

select 字段1 from 表1 where ..... 选出要添加的字段的内容

where (.....) 选出要添加的位置

在select 语句中赋值给用户变量的语法是 @ var_name := value ,这里的var_name 是变量名,value是正检索的值.

1:变量可以用在以后语句中表达式可用的任何地方,例如where字句或者insert 语句中。

例如select @id :=cust_id from customers where cust_id='customer name';

delete from orders where cust_id = @id

2:变量的另一个用途是保存在一个auto_increment列的表中 插入新的一行后last_insert_id()的结果

select @last_id :=Last_INSERT_ID()

LAST_INSERT_ID()返回新的AUTO_INCREMENT列值,通过将其保存在变量中,你可以在之后的语句中多次引用该值。

即使发起其他的语句创建他们自身的atuo_increment值,从而改变了last_insert_id()返回的值

3:用户变量拥有单一的值,如果使用返回多行的语句来将值赋给一个变量,那么只有最后一行的值被赋给了该变量。

4:要将一个变量显示地设为一个特定值,使用set语句,set语法可以使用:=或者=来进行赋值

5:set也可以用来将一个select的结果赋给一个变量.


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11889256.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存