2013-07-24 27 views
-1

我有一個驗證腳本,它使用循環和數組來驗證下面的問題,但我們不再使用臨時表,所以我將無法執行此驗證了。而使用的循環是基於數組,所以我不能重新使它符合新標準。對錶單的SQL驗證以確保它具有某些值

所以我一直試圖找出一個不同的方式來做到這一點,但我似乎無法包圍我的頭。

我有一個窗體有一個名爲Type的變量,它可以具有值(1,2,-1)。我需要在sql中編寫一個驗證腳本,以確保每次提交表單時,表單中都會有1 AND -1。如果它沒有1或-1或者沒有,則會出現錯誤消息。我有一個有效和無效的類型字段示例。

有人可能會建議不要這樣做,我試過IF語句,循環和聯接,但我似乎無法使其工作。表格一次處理所有信息,而不是逐行處理。

這可能是一個簡單的問題,但我一直在想,要做到這一點,我只是想要一些外部意見。

例:有效(因爲有1和-1)

TYPE 
    1  
    2 
    2 
    -1 
    2 
    -1 

例:不是有效的(因爲沒有-1)

Type 
    1 
    2 
    2 

所以,我想這樣的可能可能的工作,但我無法一路搞清楚。

 SELECT 
     p.f_field, 
     CASE WHEN f_field = '1' THEN 
     (SELECT p.f_field 
        FROM table mytable p 
         WHERE f_field = '1') > 1) 
         AND 
         ((SELECT n.f_field 
         FROM table mytable n 
         WHERE f_field ='-1') >1)))</UL> 
     END AS NewFiled 
    FROM table mytable p 
+0

它可能會更好做這個輸入驗證您的前端而非後端數據庫碼。 –

+0

你使用什麼應用程序?什麼數據庫? –

+0

我必須在後端執行它,因爲這是他們所要求的。我正在使用PLSQL Developer – Weber

回答

0

我計算出來只是一個簡單的驗證腳本

SELECT COUNT(型)
INTO xxx_counter
FROM MY_TABLE
WHERE類型= '1'

SELECT COUNT(型)
INTO yyy_counter
FROM my_table
WHERE t YPE = ' - 1'

IF xxx_counter = 0或yyy_counter = 0,那麼
錯誤= '真'
END IF

相關問題