写一个存储过程,输入表名然后显示表中的数据。 5

createorreplaceprocedureshow_data(tablenameinvarchar(50))asbeginexecuteimmediate'sele... create or replace procedure show_data
(
tablename in varchar(50)
)
as
begin
execute immediate 'select * from '+tablename;
end;
/
怎么是错的
展开
 我来答
百度网友9f653b7
2011-03-09 · TA获得超过104个赞
知道答主
回答量:69
采纳率:0%
帮助的人:79.4万
展开全部

CREATE PROCEDURE P_TEST(
@tableName VARCHAR(50) --查询的表名
)
AS
BEGIN
DECLARE @strSQL VARCHAR(1000)
IF NOT EXISTS (SELECT * FROM SYSOBJECTS WHERE ID = Object_Id(N'' + @tableName + '') AND OBJECTPROPERTY(ID, N'IsUserTable') = 1)
BEGIN
SELECT 0
RETURN
END
SELECT @strSQL = 'SELECT * FROM ' + @tableName
EXEC(@strSQL)
END
执行P_TEST 表名
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友94f02eb
2011-03-09 · TA获得超过8613个赞
知道大有可为答主
回答量:7955
采纳率:74%
帮助的人:4498万
展开全部
CREATE PROC showData(@tableName nvarchar(50))
AS
BEGIN
EXEC('SELECT * FROM ' + @tableName)
END
追问
create or replace procedure show_data
(
tablename in varchar(50),
)
as
begin
execute immediate 'select * from '+tablename;
end;
/
为什么是错的啊
追答
create or replace procedure show_data
(
@tablename in varchar(50), --变量要有 @
)
as
begin
execute immediate 'select * from ' + @tablename;
end;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式