是否可以使用c#检索stored procedure
我需要做的是我必须在数据库中搜索特定的存储过程名称,如果该存储过程可用,则意味着我必须检索该存储过程并写入文本文件。
我不知道如何检索存储过程。
有任何建议吗?
编辑:我使用SELECT NAME from SYS.PROCEDURES
检索了存储过程名称
我不知道如何检索那些存储过程
答案 0 :(得分:3)
你可以写一个程序
select Column1,Column2 from sys.procedures where name='yourProcName'
答案 1 :(得分:2)
http://databases.aspfaq.com/database/how-do-i-find-a-stored-procedure-containing-text.html
然后只需创建SqlConnection& SqlCommand正常并执行SQL以查找proc的详细信息:
SELECT ROUTINE_NAME, ROUTINE_DEFINITION
FROM INFORMATION_SCHEMA.ROUTINES
WHERE ROUTINE_NAME = @YourDesiredStoredProc;
AND ROUTINE_TYPE='PROCEDURE'
C#:
// details is a custom class you would use to hold the details of the proc :)
// Boring connection stuff
if(reader.Read())
{
this.details = new StoredProcedure(reader.GetString(0), reader.GetString(1);
}
else
{
throw new ArgumentException("Procedure does not exist");
}
// Close boring connection stuff.
this.details.Write("your_file_name");
答案 2 :(得分:1)
如果SQLServer:http://msdn.microsoft.com/en-us/library/ms345443(v=sql.90).aspx 我猜你可以执行那个sql语句并将返回值写入你的文本文件。
答案 3 :(得分:1)
针对sys.syscomments
执行查询。根据{{3}},它包含数据库中每个视图,规则,默认值,触发器,CHECK约束,DEFAULT约束和存储过程的条目。 text列包含原始SQL定义语句。