动态SQL语句和动态插入表
存储过程如下,
CREATE PROCEDURE Book_PageGetBooks1
(
@ClassIDs varchar(500)
)
as
set nocount on
begin
declare @indextable table(id int identity(1,1),nid int)
insert into @indextable(nid) select Bookid from Book_Books
exec('select O.BookID from Book_Books O,@indextable t where O.BookID=t.nid and BookID in (' +@ClassIDS +') order by t.id')
end
set nocount off
GO
提示的错误是"必须声明变量 '@indextable'."
因为@ClassIDS是动态生成的字符串,所以必须要用Exec执行,但是我上面很明显的是插入了表@indextable的,但是我在insert into 前面加入exec的话,它也会提示错误
CREATE PROCEDURE Book_PageGetBooks1
(
@ClassIDs varchar(500)
)
as
set nocount on
begin
declare @indextable table(id int identity(1,1),nid int)
insert into @indextable(nid) select Bookid from Book_Books
exec('select O.BookID from Book_Books O,@indextable t where O.BookID=t.nid and BookID in (' +@ClassIDS +') order by t.id')
end
set nocount off
GO
提示的错误是"必须声明变量 '@indextable'."
因为@ClassIDS是动态生成的字符串,所以必须要用Exec执行,但是我上面很明显的是插入了表@indextable的,但是我在insert into 前面加入exec的话,它也会提示错误
...全文
相关推荐
PB动态SQL语句
三、动态 SQL 语句的应用场景动态 SQL 语句可以应用于各种场景,例如:* 创建数据库表、索引、视图等数据库对象* 执行数据操作,例如插入、更新、删除记录* 执行数据库定义语句,例如创建数据库、建表
mybatis动态创建数据库表
SQL语句,通过自定义Mapper和XML配置文件,可以实现数据库表的创建、数据的插入和更新。
sql语句妙用,各种sql语句的详细用法与讲解
总的来说,熟练掌握SQL语句的使用,尤其是动态SQL和Identity列的管理,对于优化数据库操作和提升程序性能至关重要。理解这些概念并能灵活应用,可以更有效地处理复杂的数据查询和管理任务。
Oracle动态执行SQL四种方式的例子
在Oracle数据库管理中,动态执行SQL语句是一种强大的功能,允许开发者在运行时构建和执行SQL语句,这对于处理不确定或变化的数据结构尤其有用。
sql 语句插入结果为select和值混合示例
`Test_Base`表可能是用来管理基础测试信息的,如测试类型和关联的试卷ID。总之,这个示例展示了如何使用嵌套SELECT语句和动态构建的SQL插入语句在不同的表之间移动数据。


