2016-09-05 1 views
0

Ich habe eine gespeicherte Prozedur in einer Datenbank (SQL Server)erstellen gespeicherte Prozedur auf SQL Server

string query = "CREATE PROCEDURE queryName AS BEGIN " + sqlCommand + " END"; 
    SqlConnection cnn; 
    SqlConnectionStringBuilder builder = new System.Data.SqlClient.SqlConnectionStringBuilder(); 
    //builder["Provider"] = provider; 
    builder["Server"] = @"Themis\DEV"; 

    builder["Integrated Security"] = "SSPI"; 
    string connection_string = builder.ConnectionString; 

    cnn = new SqlConnection(connection_string); 

    cnn.Open(); 


    SqlCommand sqlCmd = new SqlCommand(queryName, cnn); 
    sqlCmd.CommandText = query; 
    sqlCmd.Connection = cnn; 
    sqlCmd.CommandType = CommandType.Text; 
    sqlCmd.ExecuteNonQuery(); 

erstellen aber ich erhalte eine Fehlermeldung

falsche Syntax in der Nähe von INNER

Das Verfahren ist wie folgt

UPDATE description 
     INNER JOIN description1 
       ON description.resid_ = description1.resid_ 
SET description.polish = [description1].[polish] 
WHERE (description1.polish <> '') 
AND (description1.polish <> ('-')); 
+0

mit würde ich vorschlagen, dass Sie testen Sie Ihr SQL Server Management auf, bevor es programmatisch zu machen. Es ist immer einfacher, Probleme mit Ihrem Code zu diagnostizieren, wenn Sie wissen, dass Ihr SQL gültig ist. –

+0

Abgesehen davon, dass es sich um ungültiges SQL handelt, warum machst du ein 'JOIN' auf' resid_' in derselben Tabelle? –

Antwort

2

Das ist keine gültige Update mit Join Syntax in SQL SERVER. Versuchen Sie, diese Art und Weise

UPDATE D 
SET D.polish = [D1].[polish] 
FROM description D 
     INNER JOIN description1 D1 
       ON D.resid_ = D1.resid_ 
WHERE D1.polish <> '' 
     AND D1.polish <> '-'; 

Where-Klausel kann vereinfacht werden NOT IN

Where D1.polish NOT IN ('','-') 
Verwandte Themen