當前位置:首頁 » 編程語言 » sql校驗

sql校驗

發布時間: 2022-01-08 06:30:55

⑴ 如何驗證sql語句的正確性

declare @testsql nvarchar(max),
@result int
改成:
declare @testsql nvarchar(max)
declare @result int

⑵ sql 語句 驗證身份證號碼

幫你搜了一下,參考參考。

主要驗證SQL資料庫中已輸入的15位 及18位 身份證號碼的位數、出生年月日是否正確,
可以過濾出大部分的輸入錯誤。

or (len(身份證號)=18 and (Substring(身份證號,7,2)<'19' or Substring(身份證號,7,2)>'20'
or (Substring(身份證號,11,2)>12)
or (Substring(身份證號,11,2) in (01,03,05,07,08,10,12) and Substring(身份證號,13,2)>31)
or (Substring(身份證號,11,2) in (04,06,09,11) and Substring(身份證號,13,2)>30)
or (Substring(身份證號,11,2)=02 and Substring(身份證號,13,2)>29)))
---------------------- 下面是針對 15位 及18位 身份證號碼性別的驗證語句 ------------------

-- Access 不支持 Substring 查詢,可以替換為 mid 查詢。
select 序號,姓名,身份證號,性別
from 身份表
where (((len(身份證號)=15) and (Substring(身份證號,15,1) in (1,3,5,7,9)) and 性別<>'男')
or ((len(身份證號)=15) and (Substring(身份證號,15,1) in (2,4,6,8,0)) and 性別<>'女'))
or (((len(身份證號)=18) and (Substring(身份證號,17,1) in (1,3,5,7,9)) and 性別<>'男')
or ((len(身份證號)=18) and (Substring(身份證號,17,1) in (2,4,6,8,0)) and 性別<>'女'))

---------------------- 下面是針對 15位 及18位 身份證號碼位數與出生年月日的驗證 ------------------

-- Access 不支持 Substring 查詢,可以替換為 mid 查詢。

select 序號,姓名,身份證號,性別
from 身份表
where (len(身份證號)<>15 and len(身份證號)<>18)
or (len(身份證號)=15 and ((Substring(身份證號,9,2)>12)
or (Substring(身份證號,11,2) > 31)
or (Substring(身份證號,9,2) in (01,03,05,07,08,10,12) and Substring(身份證號,11,2)>31)
or (Substring(身份證號,9,2) in (04,06,09,11) and Substring(身份證號,11,2)>30)
or (Substring(身份證號,9,2)=02 and Substring(身份證號,11,2)>29)))

⑶ SQl Server檢測到基於一致性的邏輯I/O 錯誤 校驗 和不正確(SQL2014版本)

很明顯可以看出是Book表出問題了
執行一下Sql語句 :select * from Book 應該是報你這個圖中一樣的錯
有2種方法:
1、
use RUM
go
ALTER DATABASE RUM SET SINGLE_USER
DBCC CHECKDB (RUM, repair_allow_data_loss) with NO_INFOMSGS
把上面的RUM換成你自己的資料庫名就行了
2、
刪除出問題的表的Log,然後手動構造一個結構和名字一樣的表Log,並導入生產環境中log表中的數據

⑷ 如何驗證 SQL 語句的正確性

驗證sql語句的正確性:

-- 定義你想要檢驗的SQL語句
DECLARE @sql NVARCHAR(MAX)
--'正確的語句'
SET @sql = 'select * from Report_Test1'
--'錯誤的語句'
--SET @sql = 'select 1 from'
DECLARE @testsql NVARCHAR(MAX),
@result INT

SET @testsql = N'set parseonly on; ' + @sql
EXEC @result = sp_executesql @testsql
-- 如果SQL語句有誤,則@result不為0;
IF @result = 0
BEGIN
PRINT '正確的語法'
--開始執行正確的SQL語句
--exec sp_executesql @sql
END
ELSE
BEGIN
PRINT '錯誤的語法'
--不執行任何操作
END

⑸ sql中兩種身份驗證模式的含義是什麼

Windows 身份驗證模式,只進行Windows身份驗證。用戶不能指定SQL Server 2000登錄ID。這是SQL Server 2000的默認身份驗證模式。

不能為在Windows 98上運行的SQL Server實例指定Windows身份驗證模式,因為此操作系統不支持Windows身份驗證。

混合模式,如果用戶在登錄時提供了SQL Server 2000登錄ID,則系統將使用SQL Server身份驗證對其進行驗證。如果沒有提供SQL Server 2000登錄ID或請求Windows身份驗證,則使用Windows身份驗證對其進行身份驗證。



(5)sql校驗擴展閱讀

Windows身份驗證

與基本身份驗證不同,集成Windows身份驗證開始時並不提示用戶輸入用戶名和密碼。客戶機上的當前Windows用戶信息可用於集成Windows身份驗證。

如果開始時的驗證交換無法識別用戶,則瀏覽器提示用戶輸入Windows帳戶用戶名和密碼,並使用集成Windows身份驗證進行處理。

Internet Explorer將繼續提示用戶,直到用戶輸入有效的用戶名和密碼或關閉提示對話框為止。

⑹ SQL語言的checksum函數校驗的是什麼

研究了一下
checksum意思是和校驗,與hash又有關
實驗
declare @a int
declare @b int
set @a=6
set @b=31
select checksum(@a,@b),checksum(@a)*16+checksum(@b),checksum(@a),checksum(@b)

當 @a=1 @b=32 時 checksum(@a,@b)=checksum(@a)*16+checksum(@b)
換幾個參數發現有時候不等
再實驗又發現 checksum(1,16)=0
推斷 checksum(@a,@b)與checksum(@a),checksum(@b)
的16進制數有關 而卻不只一兩種演算法

java 驗證字元串是否為sql語句 並且是否包含 select 關鍵字

java驗證字元串是否為sql語句,是否包含select關鍵字,主要使用的是正則表達式來進行驗證,如下:

importjava.util.*;
importjava.text.*;
classsqltest
{
publicstaticvoidmain(String[]args)
{
Stringspan="selectaaaa.idname,hello,typet,hfromdatasaaaa,citybwherea.id=b.idandclike'e%'andnameisnull";
span=span.toUpperCase();//測試用sql語句
System.out.println(span);
Stringcolumn="(\w+\s*(\w+\s*){0,1})";//一列的正則表達式匹配如proctp
Stringcolumns=column+"(,\s*"+column+")*";//多列正則表達式匹配如proctp,categoryc,warehousew
Stringownerenable="((\w+\.){0,1}\w+\s*(\w+\s*){0,1})";//一列的正則表達式匹配如a.proctp
Stringownerenables=ownerenable+"(,\s*"+ownerenable+")*";//多列正則表達式匹配如a.proctp,a.categoryc,b.warehousew
Stringfrom="FROM\s+"+columns;
Stringcondition="(\w+\.){0,1}\w+\s*(=|LIKE|IS)\s*'?(\w+\.){0,1}[\w%]+'?";//條件的正則表達式匹配如a=b或aisb..
Stringconditions=condition+"(\s+(AND|OR)\s*"+condition+"\s*)*";//多個條件匹配如a=bandclike'r%'ordisnull
Stringwhere="(WHERE\s+"+conditions+"){0,1}";
Stringpattern="SELECT\s+(\*|"+ownerenables+"\s+"+from+")\s+"+where+"\s*";//匹配最終sql的正則表達式
System.out.println(pattern);//輸出正則表達式
System.out.println(span.matches(pattern));//是否比配

}
}

⑻ 如何驗證SQL語法是否正確

你可以先在DB自帶的"查詢分析器"中跑你的語句,把必要的表和數據准備好,如果這里調試成功,就可以說明你的寫法是對的了

⑼ 在pl/sql中關於用sql語句校驗的問題

創建一個名叫zcjs_upload的function函數,兩個參數類型分別為numeric類型;
測試function函數的時候返回結果正確.當使用如上sql語句執行的時候返回結果錯誤.

⑽ sqlparser 怎麼驗證sql是否 合法

你執行錯了會報錯,例如: SQL> select * from tadd; select * from tadd * ERROR at line 1: ORA-00942: table or view does not exist 正確執行: SQL> create table lxl as select * from emp; Table created. 另外 oracle分為DDL DML DCL語言 DDL 數據操縱語言 默認commit DML數據操作語言 需要手動提交commit DCL 為數據定義語言 grant revok

熱點內容
javaeffective 發布:2024-05-21 11:39:58 瀏覽:765
演算法高效 發布:2024-05-21 11:16:06 瀏覽:139
十年前電腦做伺服器 發布:2024-05-21 11:14:35 瀏覽:971
解壓之音 發布:2024-05-21 11:07:37 瀏覽:866
安卓如何玩手機游戲 發布:2024-05-21 10:03:15 瀏覽:109
好的少兒編程學校 發布:2024-05-21 10:02:38 瀏覽:439
c語言字元個數統計 發布:2024-05-21 09:54:31 瀏覽:415
ubuntupython文件 發布:2024-05-21 09:41:01 瀏覽:162
java後端介面 發布:2024-05-21 09:40:59 瀏覽:931
豪華尊貴分別對應哪些配置 發布:2024-05-21 09:40:56 瀏覽:621