2010-02-17 5 views
3

에 SQL 스크립트를 삽입 할 방법은 테이블에 SQL 스크립트를 삽입하고 싶습니다. 나는이 스크립트가 따옴표 안에 스크립트를 감싸는 것보다 더 복잡하다고 확신한다. 따옴표로 묶인 스크립트와 더 복잡한 이스케이프는 예를 들어 문제가있는 것처럼 보인다.내가 정확하게 SQLSERVER 테이블

그래서 임의의 tsql을 안전하게 저장할 수있다. SqlServer 테이블?

나는 필요한 경우 스크립트를 인코딩하는 SQL 또는 C#을 중 하나를 사용할 수 있습니다.

답변

9

지표화 된 쿼리를 사용하여 저장 프로 시저를 사용하려면

, 당신이 끝날 것 이것은 인용 등의 모든 처리됩니다

var cmd = new SqlCommand(...); 
cmd.CommandText = "INSERT INTO [Bla] ([SQL Column]) VALUES (@MyValue)"; 
cmd.Parameters.AddWithValue("MyValue", yourValueHere); 

C 번호를 유사한 방식으로 실행 :

var cmd = new SqlCommand(...); 
cmd.CommandText = "StoreSQL"; 
cmd.CommandType = CommandType.StoredProcedure; 
cmd.Parameters.AddWithValue("MyValue", yourValueHere); 
1

저장 프로 시저를 사용하고 SQL 스크립트를 다음과 같이 전달하십시오. 매개 변수 - 따옴표와 특수 기호에 문제가 없습니다. 당신은 NVARCHAR (최대) 매개 변수를 저장 프로 시저를 사용하는 등 정말 오랫동안 문제가 안 데이터베이스의 SQL 텍스트를 저장

2

, 아무것도 탈출 할 필요가 없어야합니다.

CREATE PROCEDURE uspStoreSQL 
(
    @sql nvarchar(max) 
) 
AS 
INSERT INTO SomeTable (SQLText) 
Values (@sql)