日期:2014-05-18  浏览次数:20679 次

请教,SQL语句实现!!!
1. insert into tb2 select MAX(info1),MIN(info2) FROM tb1 
这样插入可以!
如果我想再插入一列,如下语句,但不对,应该怎么改? 谢谢赐教
insert into tb2 @str,select MAX(info1),MIN(info2) FROM tb1 

2.declare @tb varchar(15)
set @tb=tb1
create table @tb (dh int,rq char(8),ch char(7)) 
我的目的是想传入tb参数,建立一个tb1的表,应该如何实现?

------解决方案--------------------
1.
insert into tb2 select @str,MAX(info1),MIN(info2) FROM tb1

2.
declare @tb varchar(15)
set @tb='T'
exec('create table '+@tb+'(dh int,rq char(8),ch char(7))')
------解决方案--------------------
变量传参用sp_executesql:
declare @s @nvarchar(4000),@str nvarchar(20)
set @s='insert into tb2 select @str,MAX(info1),MIN(info2) FROM tb1 '
exec sp_executesql @s,N'@str nvarchar(20)',@str