为什么创建了存储过程,但调用时缺提示找不到我创建了个查看某个数据库里面所有用户表的存储过程,但是创建
为什么创建了存储过程,但调用时缺提示找不到
我创建了个查看某个数据库里面所有用户表的存储过程,但是创建好后提示找不到此存储过程,我还是在MyDB下调用,请看代码:
- SQL code
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高手麻烦解决下。
[解决办法]
重新刷新下
或者
select * from sys.sysobjects where name='' and type='p'
[解决办法]
USE MyDB
GO
CREATE PROCEDURE sp_CKtablename@dbname VARCHAR(200)
AS
DECLARE @strsql VARCHAR(MAX)
BEGIN
SET @strsql='USE'+@dbname+'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 '+@dbname+' 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
