SQL語句糾錯,這條sql語句哪裡錯了

2022-12-23 09:06:23 字數 3165 閱讀 9565

1樓:

你要把表結構,錯誤資訊,是什麼資料庫,在什麼地方用,都應該寫出來才能找出來呀。

光看你這句話,只能猜到可能有以下原因的錯誤:

(1):使用了 top 16,如果是 sybase 資料庫是不支援 top 的,應該在末尾使用 set rowcount n 來取記錄條數(n=0表示所有)。

(2):lock=false 這個條件可能錯誤,因為false大多數情況是關鍵字(即假值),試試 lock="false"(懷疑該欄位為字元型)。

(3)在pb裡需要新增結束符分號;才能執行。

希望可以解決你的問題。

2樓:匿名使用者

這個語句沒錯啊,檢查一下欄位的型別,看設定是否正確;欄位名稱是否寫錯。

3樓:king蘋果蟲子

name<>'' and job<>'' order by id desc

應該是name<>"" and job<>"" order by id desc

這條sql語句**錯了 50

4樓:匿名使用者

create 前面新增一行 go

create 不能直接寫在其他語句後面,

sql中的斷言、觸發的定義

5樓:拜蔚後茵

斷言約束:不必與特定的列繫結,可以理解為能應用於多個表的check約束,因此必須在表定義之外獨立建立斷言。

語法如下:

create

assertion

constraint_name

check

search

condition

例如:create

assertion

name

check

(emp_sal.emp_id

in(select

emp_id

from

employeeinfo

where

emp_name

isnot

null)

新增斷言後,每當試圖新增或修改emp_sal表中的資料時,就對斷言中的搜尋條件求值,如果為false,則取消執行,給出提示。

6樓:簡單藝術家

斷言:create assertion assertion_name約束語句

例如:create assertion 斷言名check (語句);

觸發器:

create trigger trigger_nameon table_name(作用的表)

for (針對不同型別)

as[if update(列名)[|and|or|update(列名)....]]

sql_statement(sql語句)

sql語句中什麼時候用commit?

7樓:教育仁昌

commit命令用於把事務所做的修改儲存到資料庫,把上一個commit或rollback命令之後的全部事務都儲存到資料庫。全部修改都首先被送到臨時回退區域,如果這個臨時回退區域沒有空間了,不能儲存對資料庫所做的修改,資料庫很可能會掛起,禁止進行進一步的事務操作。

語法是:commit [work]。關鍵字commit是語法中惟一不可缺少的部分,其後是用於終止語句的字元或命令,具體內容取決於不同的實現。

關鍵字work是個選項,其惟一作用是讓命令對使用者更加友好。

8樓:匿名使用者

建議每次 對sql中的表修改或插入資料後 都提交一下(commit) 。 舉例說明:

1、如果 你先開啟了一個sql視窗,在裡面進行資料的插入操作並插入成功。

2、與此同時你再開啟一個sql視窗且上次開啟的視窗不關閉,這時你試著查詢您剛插入的資料,這時你會發現,根本查詢不到你剛插入的資料。原因就是由於你沒有 commit提交。

3、這時您在你第一次開啟的視窗 在剛插入資料成功後 並commit 您會發現 這時你再查詢定能查出你需要的結果。

用commit 這個命令,可以很好的預防 您有時辛辛苦苦對資料進行的操作,最後卻未寫入sql後臺,這樣工作效率就降低了。

希望對您有幫助!

9樓:殤忄路

當你執行了dml語句後,如insert, update, delete,需要提交,在這些語句後加個commit;

10樓:康熙轉世

事務執行完之前 包含dml的時候 最後都要commit 不會自動commit 遊標不需要commit

11樓:匿名使用者

最簡單的回答你一下

commit是提交的意思(oracle),當你寫完一條sql語句後,點選執行,看到資料變化,或者修改,但是在資料中這些資料是沒有變化的,如果你要修改資料庫中的資料,必須在sql語句會面加一條語句commit。

資料庫中的資料:

username pwd

admin 123456

寫一條sql

update usertable set pwd=『123』 where pwd=『123456』;

執行結果

username pwd

admin 123456

如果這樣寫

update usertable set pwd=『123』 where pwd=『123456』;

commit;

執行結果

username pwd

admin 123

12樓:匿名使用者

可以執行,但是不提交資料不會儲存到資料庫

dml需要提交(insert、update、delete)

ddl會自動提交(create、alter ...)

13樓:近火樓臺

事務裡的操作執行成功的時候提交。

否則 執行 rollback

怎麼用sql語句 把某個欄位中的部分值改為*號(如:張三,李四。把三,四改為* 號)

14樓:匿名使用者

是把欄位第2個字元修改?

還是把包含字元「三」,「四」,「五」的替換?

誰能幫我解釋這條sql語句

select ml.取出ml表裡所有列,類似於 select mg.type 取出mg表裡type列 from memberlist ml 從memberlist 表裡取,並給memberlist 表取別名ml left join membergroup mg on mg.id ml.groupid...

SQL語句問題,SQL語句問題

樓主在資料結構有問題,帳號相同是可以的,但其實兩者在關係並不是單單是帳號在關係,還有工號之間有關係,所以你的結構有點點問題,既然工號之間也是有關係的,那麼也應該提取出來,所以你的b表應該儲存為 三個欄位 賬號 收銀員 營業員 儲存內容 賬號 收銀員id 營業員id 那麼你想要的結果就很清晰了 sel...

Sql語句的TOP用法,sql查詢語句 top n的用法

select top 1 from table select top 1 2 from table 取前3行資料 區別就是 裡面可以是個表示式 沒有區別個人的習慣 在sqlserver2000中top後只可以跟常數,在2005後可以跟變數了 也許唯一的區別就是top expression 括號中可以...