class Mkxms::Mssql::ClrStoredProcedure
Constants
- SQL_OBJECT_TYPE
Attributes
clr_impl[RW]
execute_as[RW]
name[RW]
schema[RW]
Public Class Methods
new(attrs)
click to toggle source
# File lib/mkxms/mssql/clr_stored_procedure_handler.rb, line 15 def initialize(attrs) @schema = attrs['schema'] @name = attrs['name'] @execute_as = attrs['execute-as'] end
Public Instance Methods
param_properties_sql()
click to toggle source
# File lib/mkxms/mssql/clr_stored_procedure_handler.rb, line 47 def param_properties_sql params.map do |param| subitem_extended_properties_sql(param) end.flatten end
procedure_def_sql()
click to toggle source
# File lib/mkxms/mssql/clr_stored_procedure_handler.rb, line 28 def procedure_def_sql [[].tap do |lines| lines << "CREATE PROCEDURE [{filename}]" lines << params.map do |param| " #{param.name} #{param.type_spec}".tap do |param_spec| param_spec << " = #{param.default_value}" if param.default_value param_spec << " OUT" if param.output end end.join(",\n") case execute_as when "OWNER" lines << "WITH EXECUTE AS OWNER" when String lines << "WITH EXECUTE AS '#{Utils.unquoted_name execute_as}'" end lines << "AS EXTERNAL NAME #{clr_impl.full_specifier};" end.join("\n")] end
to_sql()
click to toggle source
# File lib/mkxms/mssql/clr_stored_procedure_handler.rb, line 24 def to_sql (procedure_def_sql + extended_properties_sql + param_properties_sql).join("\n") end