亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Sql server 數(shù)據(jù)庫中,純SQL語句查詢、執(zhí)行 單

系統(tǒng) 2119 0
原文: 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 ; ?--1
select Name from A123; ?--2
exec('select '+ @name+' from A123'); ?--3
exec('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ù)庫名稱需要修改

go

declare @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 Curb

deallocate 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è)表。
      
    

?

?

?

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


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會(huì)非常 感謝您的哦!??!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 国产日韩欧美成人 | 青青热久免费精品视频在线观看 | 成人免费毛片观看 | 中文字幕一区二区三区四区五区人 | 国产精品资源 | 特黄特黄aaaa级毛片免费看 | 四虎影院在线视频 | 91大神在线精品视频一区 | 国内精品免费网站牛牛 | 老头做爰xxxx视频 | 欧美激情亚洲 | 欧美日韩视频一区三区二区 | 日日摸夜夜爽 | 伊人色综合久久天天网 | 一级做a爱片特黄在线观看 一级做a爱片特黄在线观看免费看 | 成人免费视频视频在线不卡 | 欧美成人天天综合天天在线 | 亚洲欧美日韩中文综合在线不卡 | 99在线观看视频 | 国产精品久久精品福利网站 | 九九99九九视频在线观看 | 日日操免费视频 | 日韩欧美二区在线观看 | 私人免费影院入口 | 亚洲人成一区二区不卡 | 午夜影院0606 | 久久久久久国产精品免费 | 国产一区91 | 99国产热 | 欧美在线一级片 | 成人a视频| 欧美美女一区二区三区 | 国产亚洲自在精品久久 | 91综合网| 久青草免费在线视频 | 欧美在线小视频 | 久久精品久 | 奇米第四色在线观看 | 亚洲国产精品一区二区久久 | 欧美成人中文字幕dvd | 国产精品一区二区三区久久 |