CREATE PROC PRC_INSERTINTO
AS
BEGIN
DECLARE @IN_VAR_VAL_FROM VARCHAR(50)
SET @IN_VAR_VAL_FROM='A,B,C,D,E'
DECLARE @IN_VAR_VAL VARCHAR(MAX)
SELECT @IN_VAR_VAL='SELECT '''+replace(@IN_VAR_VAL_FROM,',',''' UNION ALL SELECT ''')+''''
INSERT num EXEC(@IN_VAR_VAL)
SELECT * FROM num
END其中mun是我的表名,可以直接这么写吗?INSERT num EXEC(@IN_VAR_VAL)这句提示对象名num无效,我也觉得有问题,因为这里没有确定是哪个库,而且写入的数据到哪个字段也不清楚,求高手帮忙改改吧!
AS
BEGIN
DECLARE @IN_VAR_VAL_FROM VARCHAR(50) SET @IN_VAR_VAL_FROM='A,B,C,D,E' DECLARE @IN_VAR_VAL VARCHAR(MAX) SELECT @IN_VAR_VAL='SELECT '''+replace(@IN_VAR_VAL_FROM,',',''' UNION ALL SELECT ''')+'''' INSERT into num
EXEC(@IN_VAR_VAL) SELECT * FROM num
END
写入的数据到哪个字段也不清楚??
AS
BEGIN
DECLARE @IN_VAR_VAL_FROM VARCHAR(50)
SET @IN_VAR_VAL_FROM='A,B,C,D,E'
DECLARE @IN_VAR_VAL VARCHAR(MAX)
SELECT @IN_VAR_VAL='SELECT '''+replace(@IN_VAR_VAL_FROM,',',''' UNION ALL SELECT ''')+''''
select @IN_VAR_VAL = 'INSERT mun '+@IN_VAR_VAL
--print @IN_VAR_VAL
exec(@IN_VAR_VAL)
SELECT * FROM mun
END
表名是num
字段名是word
AS
BEGIN
DECLARE @IN_VAR_VAL_FROM VARCHAR(50)
SET @IN_VAR_VAL_FROM='A,B,C,D,E'
DECLARE @IN_VAR_VAL VARCHAR(MAX)
SELECT @IN_VAR_VAL='SELECT '''+replace(@IN_VAR_VAL_FROM,',',''' UNION ALL SELECT ''')+''''
exec('INSERT INTO num (word) '+@IN_VAR_VAL)
END
这样写对不对呀?为什么还是插不进去呢?
One Sample
0)--num's Structure USE Testshenliang
GO
SELECT * FROM num WHERE 1 = 3v_name
------------------------------(0 row(s) affected)1)QueryUSE Testliang_0225
GO
BEGIN
DECLARE @IN_VAR_VAL_FROM VARCHAR(50)
SET @IN_VAR_VAL_FROM='A,B,C,D,E'
DECLARE @IN_VAR_VAL VARCHAR(MAX)
SELECT @IN_VAR_VAL='SELECT '''+replace(@IN_VAR_VAL_FROM,',',''' UNION ALL SELECT ''')+''''
INSERT Testshenliang.dbo.num EXEC(@IN_VAR_VAL)
SELECT * FROM Testshenliang.dbo.num
END3)Resultv_name
------------------------------
A
B
C
D
E(5 row(s) affected)