आखरी की कोड उदाहरण संशोधित प्रत्येक ब्लॉब मैदान के आकार को दिखाने के लिए, न केवल सभी धब्बे का योग ।
और एसईटी टर्म का उपयोग किया गया ताकि आप & कॉपी कर सकें इस स्निपेट को सीधे FlameRobin जैसे टूल पर पेस्ट करें।
SET TERM #;
EXECUTE BLOCK
RETURNS (BLOB_SIZE BIGINT, TABLENAME CHAR(31), FIELDNAME CHAR(31))
AS
DECLARE VARIABLE RN CHAR(31) CHARACTER SET UNICODE_FSS;
DECLARE VARIABLE FN CHAR(31) CHARACTER SET UNICODE_FSS;
DECLARE VARIABLE S BIGINT;
BEGIN
BLOB_SIZE = 0;
FOR
SELECT r.rdb$relation_name, r.rdb$field_name
FROM rdb$relation_fields r JOIN rdb$fields f
ON r.rdb$field_source = f.rdb$field_name
WHERE f.rdb$field_type = 261
INTO :RN, :FN
DO BEGIN
EXECUTE STATEMENT
'SELECT SUM(OCTET_LENGTH(' || :FN || ')) AS BLOB_SIZE, ''' || :RN || ''', ''' || :FN || '''
FROM ' || :RN ||
' WHERE NOT ' || :FN || ' IS NULL'
INTO :BLOB_SIZE, :TABLENAME, :FIELDNAME;
SUSPEND;
END
END
#
SET TERM ;#
यह उदाहरण ऑर्डर द्वारा काम नहीं करता है, शायद बिना किसी ब्लॉक के एक और सुरुचिपूर्ण समाधान मौजूद है।