麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 數(shù)據(jù)庫 > SQL Server > 正文

SqlServer存儲(chǔ)過程實(shí)現(xiàn)及拼接sql的注意點(diǎn)

2024-08-31 01:04:00
字體:
供稿:網(wǎng)友

這里我昨天碰到的問題就是執(zhí)行一段根據(jù)變量tableName對(duì)不同的表進(jìn)行字段狀態(tài)的更改。由于服務(wù)器原因,我不能直接在數(shù)據(jù)訪問層寫SQL,所以只好抽離出來放到存儲(chǔ)過程里面。

這里就出現(xiàn)了一個(gè)問題,我花費(fèi)了好久才弄通!

  其實(shí)就是很簡(jiǎn)單的一個(gè)SQL語句:

  update table1 set field1=value1,field2 = value2 where id = id

  我寫成什么樣子了呢?大家且看: 

declare @tableName nvarchar(50),      @field1 int,      @field2 nvarchar,      @id int  declare @sql nvarchar(max)  set @sql = 'update '+@tableName+' set field1= '+@field1+',field2= '+@field2+' where id='+@id  exec @sql 

  有過這方面經(jīng)驗(yàn)的同學(xué)肯定知道這樣寫明顯是錯(cuò)的,sql會(huì)報(bào)異常,說無法講nvarchar轉(zhuǎn)換成int類型

  那么這個(gè)錯(cuò)誤是具體是值什么呢?其實(shí)就是說,在拼接sql的時(shí)候,這個(gè)@sql要是一個(gè)字符串類型,所有的變量也都必須用字符串表示,我上面的@field1和@id是int,所以要轉(zhuǎn)化成nvarchar類型,并且是nvarchar類型的變量(字段)必須用單引號(hào)括起來;注:在sql中單引號(hào)是用兩個(gè)單引號(hào)表示的

  所以經(jīng)過修改,正確的拼接sql代碼是:

set @sql='update '+@tableName+ ' set field1='+cast(@field1 as varchar)+',field2='''+@field2+''' where id='+CAST(@id as varchar) 

  這個(gè)問題其實(shí)非常簡(jiǎn)單,但是由于我在SQL方面的知識(shí)很是不足,所以在這里記錄來鞏固自己。

以上所述是小編給大家介紹的SqlServer存儲(chǔ)過程實(shí)現(xiàn)及拼接sql的注意點(diǎn),希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)VeVb武林網(wǎng)網(wǎng)站的支持!


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到MSSQL教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 黄色一级片免费观看 | 91av在线影院| 一区二区视频在线看 | 国产精品一二区 | 爱草在线| 午夜视频在线观看免费视频 | 欧美一级鲁丝片免费看 | 国产午夜亚洲精品 | 欧美视频一级 | 亚洲日韩精品欧美一区二区 | 国产精品成人久久 | 免费一级a毛片在线播放视 日日草夜夜操 | 一级成人黄色片 | 九九热免费观看 | 久久久久九九九女人毛片 | 性少妇chinesevideo | 欧美性激情视频 | 国产精品区一区二区三区 | 爱草成年 | 免费黄色成人 | 欧美一级棒 | 亚洲自拍第一 | 国产精品久久久乱弄 | 福利在线播放 | www.99久| 亚洲精品成人久久久 | 日韩色视频在线观看 | 亚州精品国产 | 午夜视频在线观看免费视频 | 久久人人爽人人爽人人片av免费 | 中文字幕视频在线播放 | 蜜桃传媒视频麻豆第一区免费观看 | 国产精品亚洲综合一区二区三区 | 国产在线色 | 成人18免费观看 | av在线网站观看 | 91九色视频在线播放 | 国产精品自拍片 | 免费观看视频在线观看 | 久久久久久久免费看 | 日韩视频在线观看免费视频 |