国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

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

Sql server 數(shù)據(jù)庫中,純SQL語句查詢、執(zhí)行 單引號(hào)問題。

2024-08-31 00:56:00
字體:
供稿:網(wǎng)友
Sql server 數(shù)據(jù)庫中,純SQL語句查詢、執(zhí)行 單引號(hào)問題。

在默認(rèn)值情況下,

select 'abc',Titile from tb_Name; ---輸出內(nèi)容 是abc;

如果想輸出 單引號(hào) 'abc,需要使用select '''abc',Titile from tb_Name; ---這里用三個(gè)單引號(hào)'''abc;

select '''abc''',Title from tbName; 輸出內(nèi)容是'abc';兩邊帶有單引號(hào);

謹(jǐn)記:如果字符串包含單引號(hào),則需要在單引號(hào)前再增加一個(gè)單引號(hào)。

exec('select * from tbName') Sql語句兩邊有單引號(hào)'可以執(zhí)行,沒有時(shí)exec(select * from tbName)不能執(zhí)行。

set @name='Name';select @name from A123 ; --1select Name from A123; --2exec('select '+ @name+' from A123'); --3exec('select '+ 'Name'+' from A123'); --4

在連接純字符串中,'+' 單引號(hào)加號(hào)單引號(hào) 可以加在任何位置,這條規(guī)律方便引入變量的加入。exec('select '+ 'Name'+' from A123'); 可將'+'刪除,變成exec('select Name from A123');或者exec('select'+' Name from A123'); 效果一樣,無本質(zhì)區(qū)別。

以上四句執(zhí)行語句中,2、3、4句執(zhí)行結(jié)果是相同的,均等同于第2句;1執(zhí)行語句等同于select'Name' from A123;

use db_Test; --數(shù)據(jù)庫名稱需要修改godeclare @tbName varchar(100)declare Curb cursor for    select name from sys.tables    open Curb        fetch next from Curb into @tbName        while @@fetch_status=0        begin            --exec('update '+ @tbName+' set Name=Name+'''+@tbName+'''') --1            --exec('update '+ @tbName+' set Name='''+@tbName+'''+Name') --2  列的名稱需要修改,修改該哪一個(gè)列? 修改兩個(gè)Name值即可。            --exec('update '+ @tbName+' set Name='''+@tbName+'Mirror'+'''+Name') --3   --表名加Mirror              exec('update '+ @tbName+' set Name=''Mirror'+@tbName+'''+Name')    --4  --Mirror加表名              exec('update '+ @tbName+' set Name='''+'Mirror'+@tbName+'''+Name') --5   --Mirror加表名            --exec('update '+ @tbName+' set Name=''' + @tbName + '''')  --6            --exec('update '+ @tbName+' set Name=Name')                 --7            fetch next from Curb into @tbName        end     close Curbdeallocate Curb

從第2行實(shí)現(xiàn)第五行代碼,首先在加號(hào)附近加上 ' 字符串內(nèi)容 '+ OR +' 字符串內(nèi)容 ' 。

根據(jù)第4、5行,在字符串中加入 '+' 對(duì)代碼無影響,可以將其刪除。

以上代碼實(shí)現(xiàn)的功能,遍歷數(shù)據(jù)庫中的所有表,并依次在每一個(gè)表中執(zhí)行更改語句,比如 --1中 將表中Name字段的內(nèi)容加上表名。如何在exec語句中加單引號(hào)?

寫出原始語句 update @tbName set Name = Name + @tbName

首先首尾加單引號(hào);聲明的變量前面加 '+,后面加 +';最后看賦值部分,需要使用單引號(hào)包圍聲明的變量,需要使用兩個(gè)單引號(hào)。

根據(jù)表名來輸出"執(zhí)行每個(gè)表的SQL語句"

USE db_Test;  --修改數(shù)據(jù)庫名稱 SELECT      'update' + name + ' set Title = ''' + name + '''+Title'  as sql  --name獲取的是數(shù)據(jù)庫中所有表的名稱;--表名稱+Title  --修改Title(列名稱)from    sys.tables;
USE db_Test;  --修改數(shù)據(jù)庫名稱 SELECT      'update ' + name + ' set Title = ''' + name + '''+Title+''abc'''from    sys.tables;
USE db_Test;  --修改數(shù)據(jù)庫名稱 SELECT      'update ' + name + ' set Title = ''abc' + name + '''+Title+''abc'''   --Title是表中Title列中的內(nèi)容,from    sys.tables;
USE db_Test;declare @result varchar(255)set @result = '';SELECT      @result='UPDATE ' + name + ' SET name = ''' + name + '''+name'from    sys.tables;exec(@result)   --只能執(zhí)行一句  只能更改一個(gè)表。


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 宁城县| 阳原县| 奈曼旗| 若羌县| 瓦房店市| 林口县| 阳原县| 克东县| 南木林县| 古交市| 古丈县| 渭源县| 襄垣县| 织金县| 确山县| 高唐县| 兴安盟| 景宁| 仁怀市| 宾川县| 徐州市| 岐山县| 青神县| 芦溪县| 天津市| 偃师市| 三亚市| 原阳县| 祁连县| 比如县| 张家界市| 民县| 辛集市| 夏邑县| 深州市| 布拖县| 罗平县| 榆中县| 渭源县| 汉源县| 万载县|