社区
疑难问题
帖子详情
能否将表名作为参数传入存储过程处理查询?
Jazzyh
2004-04-08 07:04:39
能否将表名作为参数传入存储过程处理查询,
当使用此存储过程的程序很多时,
是否会造成太多多线程或多进程的问题,以至造成系统出错或崩溃?
请高手指教.
...全文
79
6
打赏
收藏
能否将表名作为参数传入存储过程处理查询?
能否将表名作为参数传入存储过程处理查询, 当使用此存储过程的程序很多时, 是否会造成太多多线程或多进程的问题,以至造成系统出错或崩溃? 请高手指教.
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
chengulv
2004-04-10
打赏
举报
回复
看下面的存储过程:
IF EXISTS (SELECT name
FROM sysobjects
WHERE name = N'proc_test'
AND type = 'P')
DROP PROCEDURE proc_test
GO
CREATE PROCEDURE proc_test
@TableName varchar(100)
AS
SELECT * from @TableName
GO
EXECUTE proc_test 'Test_TableName'
GO
烤火的鱼
2004-04-10
打赏
举报
回复
先组合成标准的sql语句,然后exec(@strSql)
xyq407
2004-04-08
打赏
举报
回复
可以:
先把它拼成子符串,然后用exec()执行
例:
exec('select * from '+@s_tablename)
mfjun007
2004-04-08
打赏
举报
回复
可以
progress99
2004-04-08
打赏
举报
回复
create proc p1 @table sysname
as
exec('select * from '+@table )
go
ghostzxp
2004-04-08
打赏
举报
回复
可以啊,和字符窜同样处理
深入mysql
存储过程
中表名使用
参数
传入
的详解
BEGIN declare date_str varchar(8);declare table_prefix varchar(20);set table_prefix=’mail_rare_visit_’;set date_str = DATE_FORMAT(CURRENT_DATE(),’%Y%m%d’);set @table_name = concat(table_prefix, date_str);set @s = concat(‘CREATE TABLE ‘, @table_name, ‘( `id` int(11) NOT NULL AUTO_INCREMENT, `user_i
oracle
查询
分页条件通用
存储过程
oracle数据库的
查询
分页加条件和排序的通用型
存储过程
,通过
将表名
以
参数
的形式
传入
到
存储过程
中做到多表通用,也可以是多表关联的sql语句 将其看作一个表也能调用该
存储过程
,分页只需要传与页数,和每页显示的行数,并会返回该表的总条数,基本符合市场上的前端框架的要求,并支持排序,只需要
传入
要排序的字段和排序的方式,然后还有条件的拼接。。。
SQL Server
存储过程
中使用表值作为输入
参数
示例
主要介绍了SQL Server
存储过程
中使用表值作为输入
参数
示例,使用表值
参数
,可以不必创建临时表或许多
参数
,即可向 Transact-SQL 语句或例程(如
存储过程
或函数)发送多行数据,这样可以省去很多自定义的代码,需要的朋友可以参考下
java调用Oracle
存储过程
NULL 博文链接:https://bing-zz.iteye.com/blog/1120421
带TOP
参数
的
存储过程
--ALTER PROCEDURE GetData @tbName nvarchar(10), @colName nvarchar(10), @Name nvarchar(10) --AS BEGIN --declare @sql nvarchar(50); -- set @sql='select '+ @colName+' from ' +@tbName+ ' where colName1=@whereName'; -- --注意此句不可以写成如下: -- set @sql='select @colName from @tbName where name=@whereName'; --exec sp_executesql @sql, N'@whereName nvarchar(10)' , @whereName --end CREATE PROCEDURE [dbo].[GetData2] @tbName nvarchar(10), @topnum nvarchar(10) AS BEGIN declare @sql nvarchar(50); set @sql=N'select top '+ @topnum +' * from ' +@tbName; --注意此句不可以写成如下: -- set @sql='select @colName from @tbName where name=@whereName'; exec sp_executesql @sql END GO
疑难问题
22,300
社区成员
121,734
社区内容
发帖
与我相关
我的任务
疑难问题
MS-SQL Server 疑难问题
复制链接
扫一扫
分享
社区描述
MS-SQL Server 疑难问题
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章