我有一个正在编写的过程,它包含一个嵌套插入,但嵌套插入永远不会运行。嵌套插入的数据由选择语句正确填写,但插入从未运行。
CREATE PROCEDURE search_string #inValue varchar(255)
AS
BEGIN
SET nocount on
CREATE TABLE #results (table_name sysname, column_name sysname)
SELECT
"INSERT #results SELECT DISTINCT '"
+ object_name(c.id)
+ "' as table_name, '"
+ c.name
+ "' as column_name FROM "
+ object_name(c.id)
+ " WHERE "
+ c.name
+ " LIKE '%"
+ @inValue
+ "%'"
FROM syscolumns c, sysobjects o
WHERE
c.usertype in ( 1
,2
,18
,19
,24
,25
,42
)
AND o.type ='U'
AND o.id = o.id
AND c.length >= datalength(@invalue)
SELECT * FROM #results
END
这会产生一堆永远不会运行的插入语句。