为什么创建了存储过程,但调用时缺提示找不到
我创建了个查看某个数据库里面所有用户表的存储过程,但是创建好后提示找不到此存储过程,我还是在MyDB下调用,请看代码:
USE MyDBGOCREATE PROCEDURE spCKtablename@dbname VARCHAR(200)ASDECLARE @strsql VARCHAR(MAX)BEGINSET @strsql='USE'+@dbname+'GO'+'SELECT name FROM sys.sysobjects WHERE xtype IN'+'('+'U'+')'+ 'AND type='+'U'+ 'ORDER BY name' EXEC(@strsql) END
alter PROCEDURE spCKtablename@dbname VARCHAR(200)ASDECLARE @strsql VARCHAR(MAX)BEGINSET @strsql='USE '+@dbname+' SELECT name FROM sys.sysobjects WHERE xtype =''X''AND type=''P'' ORDER BY name' EXEC(@strsql) END
[解决办法]
查看你数据库下所有存储过程,看看有没有你建立的
select * from databaseName where OBJECTPROPERTY(id, N'IsProcedure') = 1