当前位置: 代码迷 >> Sql Server >> 为什么创建了存储过程,但调用时缺提示找不到,该怎么处理
  详细解决方案

为什么创建了存储过程,但调用时缺提示找不到,该怎么处理

热度:20   发布时间:2016-04-27 14:16:54.0
为什么创建了存储过程,但调用时缺提示找不到
我创建了个查看某个数据库里面所有用户表的存储过程,但是创建好后提示找不到此存储过程,我还是在MyDB下调用,请看代码:
SQL code
USE MyDBGOCREATE PROCEDURE spCKtablename@dbname VARCHAR(200)ASDECLARE @strsql VARCHAR(MAX)BEGINSET @[email protected]+'GO'+'SELECT name FROM sys.sysobjects WHERE xtype IN'+'('+'U'+')'+ 'AND type='+'U'+ 'ORDER BY name' EXEC(@strsql) END

高手麻烦解决下。

------解决方案--------------------
重新刷新下
或者
select * from sys.sysobjects where name='' and type='p'
------解决方案--------------------
USE MyDB
GO
CREATE PROCEDURE [email protected] VARCHAR(200)
AS
DECLARE @strsql VARCHAR(MAX)
BEGIN
SET @[email protected]+'GO'+'SELECT name FROM sys.sysobjects WHERE xtype IN'+'('+'U'+')'+
 'AND type='+'U'+ 'ORDER BY name'
 EXEC(@strsql)
 END
如果加了个杠可能就在MASTER了,如果没加,你自己检查有没有在MYDB下有这个过程



------解决方案--------------------
不知道mssql能不能建立在user下面的存储过程。
------解决方案--------------------
建议重启SSMS
------解决方案--------------------
SQL code
alter PROCEDURE spCKtablename@dbname VARCHAR(200)ASDECLARE @strsql VARCHAR(MAX)BEGINSET @strsql='USE [email protected]+' SELECT name FROM sys.sysobjects     WHERE xtype =''X''AND type=''P'' ORDER BY name' EXEC(@strsql) END
------解决方案--------------------
查看你数据库下所有存储过程,看看有没有你建立的
SQL code
select * from databaseName where OBJECTPROPERTY(id, N'IsProcedure') = 1
  相关解决方案