如何使用T-SQL执行保存在表中的SQL语句
发布时间:2020-12-12 07:30:00 所属栏目:MsSql教程 来源:网络整理
导读:是否可以使用T-SQL执行存储在表中的SQL语句? DECLARE @Query textSET @Query = (Select Query FROM SCM.dbo.CustomQuery) 存储在表中的语句是ad-hoc语句,可以是SELECT AT 100 * FROM ATable到更复杂的语句: SelectJ.JobName As Job,JD.JobDetailJobStart AS
是否可以使用T-SQL执行存储在表中的SQL语句?
DECLARE @Query text SET @Query = (Select Query FROM SCM.dbo.CustomQuery) 存储在表中的语句是ad-hoc语句,可以是SELECT AT 100 * FROM ATable到更复杂的语句: Select J.JobName As Job,JD.JobDetailJobStart AS StartDate,JD.JobDetailJobEnd AS EndDate,( SELECT (DATEDIFF(dd,JD.JobDetailJobStart,JD.JobDetailJobEnd) + 1) -(DATEDIFF(wk,JD.JobDetailJobEnd) * 2) -(CASE WHEN DATENAME(dw,JD.JobDetailJobStart) = 'Sunday' THEN -1 ELSE 0 END) -(CASE WHEN DATENAME(dw,JD.JobDetailJobEnd) = 'Saturday' THEN -1 ELSE 0 END) ) AS NumberOfWorkingDays,JD.JobDetailDailyTarget AS DailyTarget,JD.JobDetailWeeklyTarget AS WeeklyTarget,JD.JobDetailRequiredQTY AS RequiredQuantity,( Select SUM(sJL.JobLabourQuantityEmployees) From JobLabour sJL ) AS NumberOfEmployees,( Select SUM((sEM.EmployeeDesignationDefaultRate * sJL.JobLabourQuantityEmployees)*8)*(SELECT (DATEDIFF(dd,JD.JobDetailJobEnd) = 'Saturday' THEN -1 ELSE 0 END)) from EmployeeDesignation sEM Inner join JobLabour sJL on sJL.EmployeeDesignationID = sEM.EmployeeDesignationID ) AS FullEmployeeRate from Job J Inner Join JobDetail JD on JD.JobID = J.JobID Inner Join JobLabour JL on JL.JobID = J.JobID WHERE J.JobActive = 0 我想执行我从T-SQL声明的@Query变量.这可能吗? (我正在运行MSSQL 2005环境) 解决方法您可以使用EXECUTE sp_executesql @Query 运行你的T-SQL 这是SQL Server 2005的MS docn的链接 http://msdn.microsoft.com/en-us/library/ms188001%28v=sql.90%29.aspx (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
热点阅读