Ⅰ sql語句插入前做判斷
declare @a varchar(50) --定義一個變數為a用於存儲去除的欄位A
select @a =A from 表名 where 條件 --如果有多條欄位 你就需要通過游標循環了
if @a=11
begin
插入語句
end
if @a=31
begin
插入語句
end
望採納!!!
Ⅱ sql insert語句加入條件判斷怎麼寫
---不知道你說的是哪種情況,我理解的有2種,1是對插入源進行過濾,2是對插入的某些值作判斷,是某個特定值時轉換成另一個值
--情況1:使用InsertIntoSelect語法實現
--通過拼接結果集作為Select數據源之後可以加Where條件
InsertIntoYourTable(id,name,status,remark)
Selectid,name,status,remarkFrom(
Select1asid,'張三'asname,'在職'asstatus,'沒有備注'asremarkUnionSelect2,'李四','離職',''
)assWhereid>2Andid<5--條件
--情況2:給插入值作特殊判斷
InsertIntoYourTable(id,name,status,remark)
Selectid,name,CaseWhenstatus='在職'Then1WHenstatus='離職'Then2Else0End,remarkFrom(
Select1asid,'張三'asname,'在職'asstatus,'沒有備注'asremarkUnionSelect2,'李四','離職',''
)ass
Ⅲ sql insert語句加入條件判斷怎麼寫
---不知道你說的是哪種情況,我理解的有2種,1是對插入源進行過濾,2是對插入的某些值作判斷,是某個特定值時轉換成另一個值
--情況1:使用Insert Into Select語法實現
--通過拼接結果集作為Select數據源之後可以加Where條件
Insert Into YourTable (id,name,status,remark)
Select id,name,status,remark From (
Select 1 as id,'張三' as name,'在職' as status,'沒有備注' as remark Union Select 2,'李四','離職',''
) as s Where id>2 And id<5--條件
--情況2:給插入值作特殊判斷
Insert Into YourTable (id,name,status,remark)
Select id,name,Case When status='在職' Then 1 WHen status='離職' Then 2 Else 0 End,remark From (
Select 1 as id,'張三' as name,'在職' as status,'沒有備注' as remark Union Select 2,'李四','離職',''
) as s
Ⅳ 怎麼判斷sql語句是否插入成功
執行插入語句,如果不報錯就說明插入成功。當然,還可以再次查詢一下剛才插入的值,如果存在就證明插入成功
Ⅳ SQL語句怎麼加判斷
selectcasewhenall_num!=0thenBidSalesPrice/all__newSql
Ⅵ 在sql 中插入語句怎麼進行判斷
沒明白你問的問題,插入就直接插入了,列數不匹配或者不允許空值等約束,sql就自動報錯了,
如果你說當你插入數據後 會觸發某個時間 可以create一個觸發器。
Ⅶ 關於insert into 里,帶條件判斷的sql語句怎麼寫
1、方法一
IF NOT EXISTS(SELECT * FROM TABLE_NAME WHERE FILED1 = 1 ) THEN
INSERT INTO TABLE_NAME VALUES(1
2、將要插入的數據先寫入臨時表,然後用
INSERT INTO TABLE_NAME
SELECT * FROM #TEMP_TABLE A LEFT JOIN TABLE_NAME ON A.FILED1 = B.FIELD1 WHERE
B.FILED1 IS NULL
(7)插入sql語句判斷擴展閱讀:
基本語句
1、數據記錄篩選:
sql="select * from 數據表 where欄位名 = 欄位值 order by 欄位名[desc]"(按某個欄位值降序排列,默認升序ASC)。
sql="select * from 數據表 where 欄位名 like '%欄位值%' order by 欄位名 [desc]"
sql="select top 10 * from 數據表 where欄位名=欄位值 order by 欄位名 [desc]"
sql="select * from 數據表 where欄位名in ('值1','值2','值3')"
sql="select * from 數據表 where 欄位名 between 值1 and 值2"
sql="select 列名1,列名2 from 數據表 where 欄位名=欄位值 group by 列名1,列名2 " (group by 用來分組,並且只有出現自group by 中的列名,才允許出現在select 語句中)。
2、更新數據記錄:
sql="update 數據表 set欄位名=欄位值 where 條件表達式"
sql="update 數據表 set 欄位1=值1,欄位2=值2 …… 欄位n=值n where 條件表達式"
3、刪除數據記錄:
sql="delete from 數據表 where 條件表達式"
sql="delete from 數據表" (將數據表所有記錄刪除)
Ⅷ 如何在SQL中設置插入時判斷表中是否有該數據
是這樣的,insertinto...values...語句不允許和where子句一起使用的(子查詢追加insertinto...select...則可以在子查詢里使用where子句)。要實現題主的這個需求,只能通過應程序端編程或在資料庫端的存儲過程里解決。
補充回答
後來我嘗試了一下用insertinto...select..變通一下單憑SQL也可以解決,我在ACCESS里測試這個思路通過了。由於身邊沒有MSSQL環境,請題主測試下列代碼,我想應該也是可以的
insertintotbTeam_dailyselect
top1N'2011-12-2',N'3組',N'',N'23'fromtbTeam_daily
wherenotexists(select1fromtbTeam_daily
wheretdate=N'2011-12-2'andteamName=N'4組');
Ⅸ 如何判斷插入的 SQL 語句是否執行成功
INSERTINTO[table_name](.....)
VALUES(....)
if@@error<>0or@@rowcount<>1
begin
raiserror('寫入時錯誤',16,1)
return
end
說明:
@@error此函數可以捕獲執行時發生的錯誤編號,若不為0,則表示插入失敗;
@@rowcount此函數可以捕獲插入語句所影響的行數,若不為1,則表示插入時出現了問題。
Ⅹ 如何判斷插入的 SQL 語句是否執行成功
如果表中有自增ID列在你插入的語句後面加一句select @@IDENTITY;如:insert into table1(name)values('123');select @@IDENTITY;意思是返回剛插入的自增列的值,判斷返回值大於0就是插入成功