求教SQL中如何实现取一个表的第一条记录的第一个字 段和一个变量作为新记录插入另个表
例如:有A=100表1:051008201212取表1的第一条记录的第一个字段(也就是05)和A作为条新记录插入到表2中...
例如:有A=100
表1:05 10
08 20
12 12
取表1的第一条记录的第一个字段(也就是05)
和A作为条新记录插入到表2中 展开
表1:05 10
08 20
12 12
取表1的第一条记录的第一个字段(也就是05)
和A作为条新记录插入到表2中 展开
2个回答
展开全部
declare @t table(
TABLE_QUALIFIER varchar(30),
TABLE_OWNER varchar(30),
TABLE_NAME varchar(30),
COLUMN_NAME varchar(30),
DATA_TYPE int,
TYPE_NAME varchar(30),
[PRECISION] int,
LENGTH int,
SCALE varchar(30),
RADIX varchar(30),
NULLABLE bit,
REMARKS varchar(300),
COLUMN_DEF varchar(30),
SQL_DATA_TYPE varchar(30),
SQL_DATETIME_SUB varchar(30),
CHAR_OCTET_LENGTH int,
ORDINAL_POSITION int,
IS_NULLABLE varchar(30),
SS_DATA_TYPE int
)
insert into @t exec sp_columns 'table1','dbo'
declare @firstcolumname varchar(50)
select @firstcolumname=column_name from @t where ORDINAL_POSITION=1
print @firstcolumname
insert into
declare @sql varchar(max)
set @sql='insert into table2 (col1,col2)
select top 1 '+@firstcolumname+','+@已知值+' from table1'
exec(@sql)
TABLE_QUALIFIER varchar(30),
TABLE_OWNER varchar(30),
TABLE_NAME varchar(30),
COLUMN_NAME varchar(30),
DATA_TYPE int,
TYPE_NAME varchar(30),
[PRECISION] int,
LENGTH int,
SCALE varchar(30),
RADIX varchar(30),
NULLABLE bit,
REMARKS varchar(300),
COLUMN_DEF varchar(30),
SQL_DATA_TYPE varchar(30),
SQL_DATETIME_SUB varchar(30),
CHAR_OCTET_LENGTH int,
ORDINAL_POSITION int,
IS_NULLABLE varchar(30),
SS_DATA_TYPE int
)
insert into @t exec sp_columns 'table1','dbo'
declare @firstcolumname varchar(50)
select @firstcolumname=column_name from @t where ORDINAL_POSITION=1
print @firstcolumname
insert into
declare @sql varchar(max)
set @sql='insert into table2 (col1,col2)
select top 1 '+@firstcolumname+','+@已知值+' from table1'
exec(@sql)
2012-07-17
展开全部
declare @id int
select top 1 @id=id from student
insert into score values(85,@id)
select top 1 @id=id from student
insert into score values(85,@id)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询