如果在最后一分钟内插入了行,则执行存储过程

时间:2019-04-19 16:56:22

标签: sql-server stored-procedures

我有一个触发器,当插入数据时会触发存储过程。该过程可以正常工作,但是我需要设置一个条件-我有一个列// MyViewModelTest.kt @RunWith(RobolectricTestRunner::class) class MyViewModelTest { lateinit var viewModel: MyViewModel @get:Rule val rule: TestRule = InstantTaskExecutorRule() @Before fun init() { viewModel = MyViewModel(ApplicationProvider.getApplicationContext()) } @Test fun testSomething() { runBlocking { System.out.println("Called doSomething") viewModel.doSomething() } System.out.println("Getting result value") val result = viewModel.myLiveData.value System.out.println("Result value : $result") assertNotNull(result) // Fails here } } ,其格式为“时间”。如果ACCESSEDTIME少于1分钟并且“ TYPE”列等于“ Exception”,则应执行我的存储过程。我没有收到错误,但是在BEGIN之前使用以下代码时,该过程未执行。

ACCESSEDTIME

1 个答案:

答案 0 :(得分:0)

解决方案是将表中的ACCESSEDTIME列转换为日期时间格式,而不是时间格式。然后,无需像本例中的“ ACCESSEDTIME”列上的过程中进行转换。

IF (SELECT COUNT(*) 
    FROM LOGS 
    WHERE Logs.TYPE = 'Exception' 
    AND ACCESSEDTIME > DATEADD(minute, -1, GETDATE())) > 0
BEGIN
    -- my stored procedure
END