sqloracle

package
v1.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 27, 2026 License: MIT Imports: 21 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AddSemicolon

func AddSemicolon(sql string) string

func BlobArrDef

func BlobArrDef(owner string, name string, data any) (string, bool)

func BlobCreateStr

func BlobCreateStr(name string) (string, string)

func ClobArrDef

func ClobArrDef(owner string, name string, data any) (string, bool)

func ClobCreateStr

func ClobCreateStr(name string) (string, string)

func ConvertReservedKeywords

func ConvertReservedKeywords(name string) string

func InitFromRowData

func InitFromRowData(owner string, r def.RowData) *oracleRowData

func Stack

func WrapperSqlIngoreExist

func WrapperSqlIngoreExist(sql string) string

Types

type BlockKeywordType

type BlockKeywordType int
const (
	NotBlockKeyword BlockKeywordType = iota
	StartBlock
	EndBlock
)

type ColumnExpressionInfo

type ColumnExpressionInfo struct {
	ColumnName       string `db:"COLUMN_NAME"`
	IndexName        string `db:"INDEX_NAME"`
	ColumnExpression string `db:"COLUMN_EXPRESSION"`
}

ColumnExpressionInfo 列表达式

type ColumnInfo

type ColumnInfo struct {
	ColumnName    string         `db:"COLUMN_NAME"`
	DataType      string         `db:"DATA_TYPE"`
	DataLength    sql.NullInt64  `db:"DATA_LENGTH"`
	CharLength    sql.NullInt64  `db:"CHAR_LENGTH"`
	DataPrecision sql.NullInt64  `db:"DATA_PRECISION"`
	DataScale     sql.NullInt64  `db:"DATA_SCALE"`
	Nullable      string         `db:"NULLABLE"`
	CharUsed      sql.NullString `db:"CHAR_USED"`
	DataDefault   sql.NullString `db:"DATA_DEFAULT"`
	Comment       sql.NullString `db:"COMMENTS"`
}

ColumnInfo 表字段信息

type CommentInfo

type CommentInfo struct {
	ColumnName string `db:"COLUMN_NAME"`
	Comments   string `db:"COMMENTS"`
}

CommentInfo 字段注释

type ConstraintInfo

type ConstraintInfo struct {
	ConstraintName  string         `db:"CONSTRAINT_NAME"`
	ConstraintType  string         `db:"CONSTRAINT_TYPE"` // 'P':主键, 'R':外键, 'U':唯一, 'C':检查
	ColumnName      string         `db:"COLUMN_NAME"`
	Position        *int           `db:"POSITION"`
	RConstraintName sql.NullString `db:"R_CONSTRAINT_NAME"`
	DeleteRule      sql.NullString `db:"DELETE_RULE"`
	SearchCondition sql.NullString `db:"SEARCH_CONDITION"`
}

ConstraintInfo 约束信息

type IndexInfo

type IndexInfo struct {
	IndexName      string `db:"INDEX_NAME"`
	ColumnName     string `db:"COLUMN_NAME"`
	ColumnPosition int    `db:"COLUMN_POSITION"`
	Uniqueness     string `db:"UNIQUENESS"`
	Descend        string `db:"DESCEND"` // ASC or DESC
}

IndexInfo 索引信息

type OracleExtraData

type OracleExtraData struct {
	// contains filtered or unexported fields
}

func (*OracleExtraData) IsBlockEnd

func (e *OracleExtraData) IsBlockEnd(line string) bool

IsEmpty checks if the extra data is empty

type OracleType

type OracleType int
const (
	OracleTypeUnknown OracleType = iota
	OracleTypeSelect
	OracleTypeInsert
	OracleTypeUpdate
	OracleTypeDelete
	OracleTypeCreateTable
	OracleTypeCreateIndex
	OracleTypeCreateView
	OracleTypeCreateFunction
	OracleTypeCreateProcedure
	OracleTypeCreateTrigger
	OracleTypeCreatePackage
	OracleTypeDrop
	OracleTypeAlter
	OracleTypeMerge
	OracleTypeOther
)

func (OracleType) AsInt

func (t OracleType) AsInt() int

AsInt 实现 SQLType 接口,返回 SQL 类型的整数表示

func (OracleType) IsBlock

func (t OracleType) IsBlock() bool

IsBlock 实现 SQLType 接口,判断该 SQL 类型是否为块级语句

func (OracleType) IsNull

func (t OracleType) IsNull() bool

func (OracleType) String

func (t OracleType) String() string

String 实现 SQLType 接口,返回 SQL 类型的字符串表示

type RefConstraintInfo

type RefConstraintInfo struct {
	RConstraintName string `db:"R_CONSTRAINT_NAME"`
	TableName       string `db:"TABLE_NAME"`
	Owner           string `db:"OWNER"`
}

RefConstraintInfo 用于存储外键引用的约束信息

type SequenceInfo

type SequenceInfo struct {
	SequenceName  string `db:"SEQUENCE_NAME"`
	MinValue      string `db:"MIN_VALUE"`
	MaxValue      string `db:"MAX_VALUE"`
	IncrementBy   string `db:"INCREMENT_BY"`
	CycleFlag     string `db:"CYCLE_FLAG"`
	OrderFlag     string `db:"ORDER_FLAG"`
	CacheSize     string `db:"CACHE_SIZE"`
	LastNumber    string `db:"LAST_NUMBER"`
	SequenceOwner string `db:"SEQUENCE_OWNER"`
}

type Trigger

type Trigger struct {
	Owner            string         `db:"OWNER"`
	TriggerName      string         `db:"TRIGGER_NAME"`
	TriggerType      string         `db:"TRIGGER_TYPE"`
	TriggeringEvent  string         `db:"TRIGGERING_EVENT"`
	TableOwner       string         `db:"TABLE_OWNER"`
	BaseObjectType   string         `db:"BASE_OBJECT_TYPE"`
	TableName        string         `db:"TABLE_NAME"`
	ColumnName       sql.NullString `db:"COLUMN_NAME"`
	ReferencingNames string         `db:"REFERENCING_NAMES"`
	WhenClause       sql.NullString `db:"WHEN_CLAUSE"`
	Status           string         `db:"STATUS"`
	Description      string         `db:"DESCRIPTION"`
	ActionType       string         `db:"ACTION_TYPE"`
	TriggerBody      string         `db:"TRIGGER_BODY"`
	Crosession       string         `db:"CROSSEDITION"`
	BeforeStatement  string         `db:"BEFORE_STATEMENT"`
	BeforeRow        string         `db:"BEFORE_ROW"`
	AfterRow         string         `db:"AFTER_ROW"`
	AfterStatement   string         `db:"AFTER_STATEMENT"`
	InsteadOfRow     string         `db:"INSTEAD_OF_ROW"`
	FireOnce         string         `db:"FIRE_ONCE"`
	ApplyServerOnly  string         `db:"APPLY_SERVER_ONLY"`
}

type TriggerInfo

type TriggerInfo struct {
	TriggerName  string `db:"TRIGGER_NAME"`
	TriggerType  string `db:"TRIGGER_TYPE"`
	TriggerEvent string `db:"TRIGGER_EVENT"`
	TriggerBody  string `db:"TRIGGER_BODY"`
}

TriggerInfo 触发器

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL