DECLARE @L INT,@NAME VARCHAR(10),@sql varchar(1000)
SET @L=100
SET @NAME='*20*4'
select @sql='select '+cast(@L as varchar(38))+@NAME
exec(@sql)-----------
8000(1 行受影响)
SET @L=100
SET @NAME='*20*4'
select @sql='select '+cast(@L as varchar(38))+@NAME
exec(@sql)-----------
8000(1 行受影响)
DECLARE @L INT,@NAME VARCHAR(10)
SET @L=100
SET @NAME='20*4'
SELECT @L*@NAME最后结果等于:8000
SET @L=100
SET @NAME='*20*4'
set @name='select '+ltrim(@l)+@nameselect @nameexec(@name)8000
前题:
有三个表(T_B1,T_B2,T_B3),数据如下:
T_B1: T_ID T_CONT
L001 50
L002 120
L003 75 T_B2(其中T_B2的T_ID与T_B1的T_ID是相关联的,存在一对多关系): T_ID N_ID N_NAME
L001 1 *0.05*2
L001 2 *0.1*2
L002 1 *0.14*3
L002 2 *0.25*4
L002 3 *0.35*4
L003 1 *0.45*2
L003 2 *0.6*2 T_B3(其中T_B3的N_ID字段与T_B2的N_ID是相关联的存在一对多关系):
N_ID NAME M_COUNT
1 李四 T_B2表中的N_NAME字段*T_B1表的T_CONT字段
1 王五
3 张六
2 陈七 要解决的问题:
写一存储过程达到以下结果:
N_ID T_ID NAME M_COUNT
1 L001 李四 5 --50*0.05*2 T_B2表中的N_NAME字段*T_B1表的T_CONT字段
1 L002 王五 50.4 --120*0.14*3
3 L002 张六 168 ---120*0.35*4
2 L003 陈七 90 ----75*0.6*2