public override IDictionary <InsertPlaceholder, string> SQLPlaceholderValuesForCreateAndRetrieveId(string idColumnName, string outputParameterName, out RetrieveIdMethod retrieveIdMethod) { retrieveIdMethod = RetrieveIdMethod.ReturnValue; if (createAndRetrieveIdPlaceholderValues == null) { lock (this) { if (createAndRetrieveIdPlaceholderValues == null) { createAndRetrieveIdPlaceholderValues = new Dictionary <InsertPlaceholder, string>(); createAndRetrieveIdPlaceholderValues.Add(InsertPlaceholder.AfterStatement, "; SELECT LAST_IDENTITY()"); } } } return(createAndRetrieveIdPlaceholderValues); }
public override IDictionary <InsertPlaceholder, string> SQLPlaceholderValuesForCreateAndRetrieveId(string idColumnName, string outputParameterName, out RetrieveIdMethod retrieveIdMethod) { retrieveIdMethod = RetrieveIdMethod.OutputParameter; if (createAndRetrieveIdPlaceholderValues == null) { lock (this) { if (createAndRetrieveIdPlaceholderValues == null) { createAndRetrieveIdPlaceholderValues = new Dictionary <InsertPlaceholder, string>(); string afterStatement; if (IsLinkedServerEntity) { afterStatement = "; SELECT oshe_globals.getidentity INTO " + outputParameterName + " FROM dual"; } else { afterStatement = " RETURNING " + idColumnName + " INTO " + outputParameterName; } #if JAVA createAndRetrieveIdPlaceholderValues.Add(InsertPlaceholder.BeforeStatement, "BEGIN "); afterStatement += "; END;"; #endif createAndRetrieveIdPlaceholderValues.Add(InsertPlaceholder.AfterStatement, afterStatement); } } } return(createAndRetrieveIdPlaceholderValues); }
public override IDictionary <InsertPlaceholder, string> SQLPlaceholderValuesForCreateAndRetrieveId(string idColumnName, string outputParameterName, out RetrieveIdMethod retrieveIdMethod) { retrieveIdMethod = RetrieveIdMethod.ReturnValue; if (createAndRetrieveIdPlaceholderValues == null) { lock (andLoll) { if (createAndRetrieveIdPlaceholderValues == null) { createAndRetrieveIdPlaceholderValues = new Dictionary <InsertPlaceholder, string>(); createAndRetrieveIdPlaceholderValues.Add(InsertPlaceholder.BeforeStatement, "SELECT " + idColumnName + " FROM FINAL TABLE ("); createAndRetrieveIdPlaceholderValues.Add(InsertPlaceholder.AfterStatement, ")"); } } } return(createAndRetrieveIdPlaceholderValues); }
/// <summary> /// Returns additional DML expression to be inserted in the <code>SELECT</code> statement /// generated by the platform for the <code>Create</code> entity action, when it's necessary /// to retrieve the <code>Id</code> of the record created. /// <para>This implementation returns Null and sets <code>retrieveIdMethod</code> to <code>ReturnValue</code>.</para> /// </summary> /// <param name="idColumnName">Column that stores the identifiers.</param> /// <param name="outputParameterName">If the <code>retrieveIdMethod</code> is <code>OutputParameter</code>, this is the name of the parameter that will hold the value stored /// in <code>idColumnName</code>, otherwise it should be ignored.</param> /// <param name="retrieveIdMethod">Method used by the platform to retrieve the identifier.</param> /// <returns>An <see cref="IDictionary{TKey,TValue}"/> with the DML expressions.</returns> public virtual IDictionary <InsertPlaceholder, string> SQLPlaceholderValuesForCreateAndRetrieveId(string idColumnName, string outputParameterName, out RetrieveIdMethod retrieveIdMethod) { retrieveIdMethod = RetrieveIdMethod.ReturnValue; return(null); }
public override IDictionary <InsertPlaceholder, string> SQLPlaceholderValuesForCreateAndRetrieveId(string idColumnName, string outputParameterName, out RetrieveIdMethod retrieveIdMethod) { retrieveIdMethod = RetrieveIdMethod.ReturnValue; if (createAndRetrieveIdPlaceholderValues == null) { lock (this) { if (createAndRetrieveIdPlaceholderValues == null) { createAndRetrieveIdPlaceholderValues = GetSQLPlaceholderValuesForCreate(true); } } } return(createAndRetrieveIdPlaceholderValues); }
public override IDictionary <InsertPlaceholder, string> SQLPlaceholderValuesForCreateAndRetrieveId(string idColumnName, string outputParameterName, out RetrieveIdMethod retrieveIdMethod) { #warning "How to accomplish this in Snowflake?" retrieveIdMethod = RetrieveIdMethod.ReturnValue; if (createAndRetrieveIdPlaceholderValues == null) { lock (this) { if (createAndRetrieveIdPlaceholderValues == null) { createAndRetrieveIdPlaceholderValues = new Dictionary <InsertPlaceholder, string>(); //createAndRetrieveIdPlaceholderValues.Add(InsertPlaceholder.AfterStatement, "; SELECT LAST_INSERT_ID()"); } } } return(createAndRetrieveIdPlaceholderValues); }
public override IDictionary <InsertPlaceholder, string> SQLPlaceholderValuesForCreateAndRetrieveId(string idColumnName, string outputParameterName, out RetrieveIdMethod retrieveIdMethod) { retrieveIdMethod = RetrieveIdMethod.ReturnValue; return(new Dictionary <InsertPlaceholder, string>() { { InsertPlaceholder.AfterStatement, "RETURNING " + idColumnName } }); }
public override IDictionary <InsertPlaceholder, string> SQLPlaceholderValuesForCreateAndRetrieveId(string idColumnName, string outputParameterName, out RetrieveIdMethod retrieveIdMethod) { retrieveIdMethod = RetrieveIdMethod.ReturnValue; if (createAndRetrieveIdPlaceholderValues == null) { lock (andLoll) { if (createAndRetrieveIdPlaceholderValues == null) { createAndRetrieveIdPlaceholderValues = new Dictionary <InsertPlaceholder, string>(); //Removed using IDENTITY_VAL_LOCAL as it always return previously inserted value for DB2 LUW createAndRetrieveIdPlaceholderValues.Add(InsertPlaceholder.BeforeStatement, "SELECT " + idColumnName + " from NEW TABLE ("); createAndRetrieveIdPlaceholderValues.Add(InsertPlaceholder.AfterStatement, ")"); } } } return(createAndRetrieveIdPlaceholderValues); }