1. 程式人生 > >sqlserver儲存過程拼接sql語句,執行報錯“列名無效”

sqlserver儲存過程拼接sql語句,執行報錯“列名無效”

今天寫儲存過程,遇到一個問題,具體如下:

需求是要統計一張報表,這張表的列不固定,因此在儲存過程裡做插入語句的時候,就用到了sql語句拼接再執行。

這裡拼接的insert語句是

set @sql= 'insert into ##tn(prj) values('[email protected]+')'
		

如果按照上述語句執行就會報錯“列名無效”;

改為

set @sql= 'insert into ##tn(prj) values('+char(39)[email protected]+char(39)+')'

加上char(39)這樣就可以了。

至於為什麼加char(39),後來我上網查了相關資料,知道這是ASCII碼值,表示單引號。

到此問題解決,以上是我遇到的問題,做個筆記,僅供參考。

相關推薦

sqlserver儲存過程拼接sql語句執行列名無效

今天寫儲存過程,遇到一個問題,具體如下:需求是要統計一張報表,這張表的列不固定,因此在儲存過程裡做插入語句的時候,就用到了sql語句拼接再執行。這裡拼接的insert語句是set @sql= 'insert into ##tn(prj) values('[email 

sqlserver 儲存過程拼接SQL字串有數字的處理辦法

資料庫:SQLSERVER2008R2 declare @startRowIndex int; declare @endRowIndex int; declare @Sql varchar(1000); set @startRowIndex=1; set @endRowI

根據條件編輯SQL語句執行回撥函式查詢

條件: date_range作業日期範圍 10一週內 20兩週內 30一個月內 40一個月之後 程式碼: private SimpleDateFormat sqlsdf = new SimpleDateFormat("yyyy-MM-dd"); public Strin

儲存過程中將sql語句結果賦值給變數

create  procedure procnameASdeclare @recount intselect @recount=count(id) from school --最關鍵在這句select @recount=count(id) from schoolselect

MYBATIS+DB2儲存過程驗證SQL語句正確性

1.啟用DB2的explain功能:(需要有操作) a.執行~sqllib/MISC/EXPLAIN.DDL b.CALL SYSPROC.SYSINSTALLOBJECTS('EXPLAIN','C',NULL,CURRENT SCHEMA)--需要有DBA的許可權 2.

SparkSql執行sql語句就會

18/10/30 11:52:17 INFO yarn.Client:       client token: Token { kind: YARN_CLIENT_TOKEN, service:  }      diagnostics: N/A      Applicatio

資料庫關鍵字問題mysql 執行sql語句check關鍵字

mysql 執行sql語句check關鍵字報錯。出錯:因為check為 mysql的保留關鍵字,改名即可。 遇到資料庫語句問題可以參考下這個問題,之前的access資料庫用的check作為表明,程式碼遷移到mysql中,出現錯誤。 資料庫的關鍵字問題-------------------

(已解決)拷貝dll檔案到另一個專案編譯不執行“未能載入檔案或程式集...”

未能載入檔案或程式集“JUtility, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null”或它的某一個依賴項。試圖載入格式不正確的程式。   需要注意該dll生成的目標平臺:右擊專案-生成-目標平臺, 引用這個dll的專案

SpringBoot匯入thymeleaf模板執行

報錯: SpringBoot匯入thymeleaf模板,執行報錯org.xml.sax.SAXParseException: 元素型別 “link” 必須由匹配的結束標記 終止。 1、新建SpringBoot MAVEN專案後 JAR型別的專案 2、新增pom.xml檔案

【spring cloud】【IDEA】【Maven】spring cloud多模組打包打包的jar包只有幾kjar包無法執行執行:no main manifest attribute, in /ms-eureka.jar

======================================================================================== 引申:maven打包多模組spring cloud服務報錯 程式包XXX不存在 : https://www.cnblog

spring boot 匯出jar 包執行無法載入 orcl驅動的問題。

原因是因為orcl資料庫是收費的,所以在pom檔案中無法匯入所以需要手動新增jar包,但是打包的時候無法將手動的jar包打包,只打包maven中的jar。 解決的辦法: 需要自己本地建立一個maven本地倉庫,然後需要配置環境 。 將執行 mvn

專案新匯入jar包之後執行:類沒有找到異常(java.lang.ClassNotFoundException)

在專案需要讀取一個.xlxs型別的Excel檔案,因為之前一直讀取的是.xls檔案,所以這次在網上新下載了一些jar包,然後更改了程式之後,寫了個demo已經沒問題了。 但是....!!!!!!!!! 當我把程式部署在tomcat下時,執行就出錯了。。。 java.lan

在android studio中新增.jar檔案後rebuild不執行的解決

問題如題,一直以為是下載的jar有問題 報如下錯誤: Error:Execution failed for task ':app:transformResourcesWithMergeJavaResForDebug'. > com.android.build.api.

idea從git上拉專案執行的的解決辦法

樓主職場新人,最近參與到專案之後,存在從git上吧專案down下來,配置完環境後,跑不起來的問題。分享一下解決辦法 這裡假設你的git,maven等都是安裝並且配置好,沒有問題的 ctrl+alt+S開啟設定 4為你的git安裝地址 5測試是否成功 成功之後

儲存過程中使用Exec拼接SQL語句造成的時間格式轉換問題

問題現象 最近在做公司新專案的時候遇到一個問題,在查詢歷史軌跡清單的時候總是比原始軌跡資料少了幾個點,之前沒有太過在意,覺得一天8000多個軌跡點,丟失幾個不影響到業務與功能的正常使用。最近閒來無事針對這些小問題進行了逐一分析。雖然說不會影響到客戶使用與體驗,但是能讓系統做

基於C#中的類SqlCommand物件呼叫SQLServer儲存過程儲存過程執行成功但是物件方法ExecuteNonQuery()返回-1

問題如題。 【下面是一個例子】 1、儲存過程完成的功能是:插入insert一條記錄,相同主鍵的記錄存在時執行更新update的操作。儲存過程正常執行的返回值是1.(不過本文提到的問題和這個返回值沒關係。) 2、在另一個.cs檔案中使用 SqlCommand物件 呼叫方法Ex

SQL語句執行過程

sql語句執行過程1.語法校驗 如果在SQL計劃緩存中沒有對應的執行計劃,服務器首先會對用戶請求的SQL語句進行語法效驗,如果有語法錯誤,服務器會結束查詢操作,並用返回相應的錯誤信息給調用它的應用程序。註意:此時返回的錯誤信息中,只會包含基本的語法錯誤信息,例如select 寫成selec等,錯誤信

數據庫曾刪改通用方法封裝(根據曾 刪 改 的sql語句執行相應的業務操作

on() sql nbsp 增加 str cep con template auto public class JDBCTemplate { /** * 增刪改封裝 * @param sql:要執行的sql語句 * @param pa

shell script中執行sql語句返回結果中文亂碼問題——在企業開發中的解決方案

問題描述 有一個需求,需要編寫一個指令碼向遠端資料庫拉取資料並生成一個檔案。在編寫完成並執行後,發現檔案中的中文為亂碼。 指令碼中的查詢命令如下所示: QUERY_CMD="mysql -h${HOST} -u${USER} -p${PWD} -sBN " SQL="SELECT

sqlserver 只有函式和擴充套件儲存過程才能從函式內部執行

一個SQLServer的自定義函式中呼叫一個自定義的儲存過程,執行此函式後發出如下提示:“只有函式和擴充套件儲存過程才能從函式內部執行"。原因:函式只能使用簡單的sql語句,邏輯控制語句,複雜一點的儲存過程是不能呼叫的,在函式裡也不能使用execute sp_executesql 或者execute 。解決方