是否有可能,在.NET,传递一个SQL语句的SQL服务器解析,并返回参与发言和操作的类型的表。因此,对于这样的语句:

select * from Table1
left outer join Table2 on Table1.id=Table2.foreignid;
delete from Table2 where date < 2009/12/12

SQL Server可能返回参与这样的表:

Table1    Read
Table2    Read
Table2    Delete

所以不执行该语句,它只是返回涉及到的表。

我想问的原因是我工作的应用程序具有应用程序级别表的权限,我想通过表基础上的表格申请。解析出参与语句表的当前方法使用正则表达式和比简单语句以外的任何失败。显然,你不能真正被使用正则表达式对这样的工作

有帮助吗?

解决方案

SET SHOWPLAN_ALL 做为了你?它模拟服务器上的电话查询,您可以解析的结果。

编辑:它看起来像 SET SHOWPLAN_TEXT 会更容易解析。

其他提示

  

我想问的原因是我工作的应用程序具有应用程序级别表的权限,我想通过表基础上的表格申请。

在我看来,你应该创建一个数据库级别的角色来捕捉这些权限,并应用它们在这一水平。您支付您的数据库管理系统 - 不花你的时间编码什么是最好的一个解决方案,这已经到位完成

应用级别的权限可能就行电平读出,即使是那些可以在数据库中实现。但是,如果他们是在桌子上水平,我看不出有任何理由认为自己正当执法编码。用你的数据库,你为它付出。

scroll top